Function at 0x30145990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0x1c]
push edi
push 7
xor eax, eax
pop ecx
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
test eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [edx], eax
mov dword [edx + 4], ecx
je 0x30145b5d
test ecx, ecx
je 0x30145b5d
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x301459d7
test byte [eax + 0x70], 1
je 0x301459d7
movzx ecx, word [eax + 0x74]
jmp 0x301459de
movzx ecx, word [edi + 0x84]
test eax, eax
push ebx
push esi
je 0x30145a27
test byte [eax + 0x70], 1
je 0x30145a27
movzx esi, word [eax + 0x7e]
movzx edx, word [eax + 0x74]
lea ebx, [edx + esi]
cmp ecx, ebx
jge 0x30145a06
mov esi, ecx
sub esi, edx
mov edx, dword [eax + 4]
movzx edx, word [edx + esi*2]
jmp 0x30145a2e
movzx edx, word [eax + 0x7c]
movzx ebx, word [eax + 0x76]
sub ebx, edx
cmp ecx, ebx
jl 0x30145a27
movzx ebx, word [eax + 0x76]
sub edx, ebx
add edx, esi
mov esi, dword [eax + 4]
add edx, ecx
movzx edx, word [esi + edx*2]
jmp 0x30145a2e
mov edx, dword [edi + 0xc]
movzx edx, word [edx + ecx*2]
mov ebx, dword [ebp + 0x1c]
mov word [ebx + 0xc], dx
lea esi, [edi + 0x80]
movzx edx, byte [esi]
and edx, 8
mov dword [ebx + 0x10], edx
test byte [esi], 8
je 0x30145b5b
test eax, eax
je 0x30145a8e
test byte [eax + 0x70], 1
je 0x30145a8e
movzx edx, word [eax + 0x74]
movzx esi, word [eax + 0x3c]
lea ebx, [edx + esi]
cmp ecx, ebx
jge 0x30145a6d
sub ecx, edx
mov edx, dword [eax + 0x30]
jmp 0x30145a91
movzx ebx, word [eax + 0x76]
movzx edx, word [eax + 0x3e]
sub ebx, edx
cmp ecx, ebx
jl 0x30145a8e
movzx ebx, word [eax + 0x76]
sub edx, ebx
add edx, esi
add edx, ecx
mov ecx, dword [eax + 0x30]
movzx ecx, word [ecx + edx*2]
jmp 0x30145a95
mov edx, dword [edi + 0x30]
movzx ecx, word [edx + ecx*2]
test eax, eax
mov edx, dword [ebp + 0x1c]
mov word [edx + 0x14], cx
je 0x30145aac
test byte [eax + 0x70], 1
je 0x30145aac
movzx ecx, word [eax + 0x78]
jmp 0x30145ab3
movzx ecx, word [edi + 0x8a]
test eax, eax
je 0x30145afe
test byte [eax + 0x70], 1
je 0x30145afe
movzx edx, word [eax + 0x78]
movzx esi, word [eax + 0x40]
lea ebx, [edx + esi]
cmp ecx, ebx
jge 0x30145ad9
mov esi, ecx
sub esi, edx
mov edx, dword [eax + 0x10]
movzx edx, word [edx + esi*2]
jmp 0x30145b05
movzx edi, word [eax + 0x7a]
movzx edx, word [eax + 0x42]
mov ebx, edi
sub ebx, edx
cmp ecx, ebx
jl 0x30145afb
sub edx, edi
mov edi, dword [ebp + 0x10]
add edx, esi
mov esi, dword [eax + 0x10]
add edx, ecx
movzx edx, word [esi + edx*2]
jmp 0x30145b05
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0x1c]
movzx edx, word [edx + ecx*2]
test eax, eax
mov esi, dword [ebp + 0x1c]
mov word [esi + 0x16], dx
je 0x30145b4f
test byte [eax + 0x70], 1
je 0x30145b4f
movzx edx, word [eax + 0x78]
movzx esi, word [eax + 0x40]
lea edi, [edx + esi]
cmp ecx, edi
jge 0x30145b2c
sub ecx, edx
mov eax, dword [eax + 0x34]
jmp 0x30145b52
movzx edi, word [eax + 0x7a]
movzx edx, word [eax + 0x42]
mov ebx, edi
sub ebx, edx
cmp ecx, ebx
jl 0x30145b4a
mov eax, dword [eax + 0x34]
sub edx, edi
add edx, esi
add edx, ecx
mov ecx, dword [eax + edx*4]
jmp 0x30145b55
mov eax, dword [ebp + 0x10]
jmp 0x30145b27
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x18], ecx
pop esi
pop ebx
pop edi
pop ebp
ret 0x18