Function at 0x30145798
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 0x3014598b
test ecx, ecx
je 0x3014598b
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x301457df
test byte [eax + 0x70], 1
je 0x301457df
movzx ecx, word [eax + 0x76]
jmp 0x301457e6
movzx ecx, word [edi + 0x86]
test eax, eax
push ebx
push esi
je 0x30145837
test byte [eax + 0x70], 1
je 0x30145837
movzx esi, word [eax + 0x7e]
movzx edx, word [eax + 0x74]
lea ebx, [ecx - 1]
add esi, edx
cmp ebx, esi
jge 0x30145811
mov esi, ecx
sub esi, edx
mov edx, dword [eax + 4]
movzx edx, word [edx + esi*2 - 2]
jmp 0x3014583f
movzx edx, word [eax + 0x7c]
movzx esi, word [eax + 0x76]
sub esi, edx
cmp ebx, esi
jl 0x30145837
movzx esi, word [eax + 0x76]
sub edx, esi
movzx esi, word [eax + 0x7e]
add edx, esi
mov esi, dword [eax + 4]
add edx, ecx
movzx edx, word [esi + edx*2 - 2]
jmp 0x3014583f
mov edx, dword [edi + 0xc]
movzx edx, word [edx + ecx*2 - 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 0x30145989
test eax, eax
je 0x301458ac
test byte [eax + 0x70], 1
je 0x301458ac
movzx edx, word [eax + 0x74]
movzx esi, word [eax + 0x3c]
lea edi, [ecx - 1]
lea ebx, [edx + esi]
cmp edi, ebx
jge 0x30145884
mov edi, dword [ebp + 0x10]
sub ecx, edx
mov edx, dword [eax + 0x30]
jmp 0x301458af
movzx ebx, word [eax + 0x76]
movzx edx, word [eax + 0x3e]
sub ebx, edx
cmp edi, ebx
jl 0x301458a9
movzx edi, word [eax + 0x76]
sub edx, edi
mov edi, dword [ebp + 0x10]
add edx, esi
add edx, ecx
mov ecx, dword [eax + 0x30]
movzx ecx, word [ecx + edx*2 - 2]
jmp 0x301458b4
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0x30]
movzx ecx, word [edx + ecx*2 - 2]
test eax, eax
mov edx, dword [ebp + 0x1c]
mov word [edx + 0x14], cx
je 0x301458cb
test byte [eax + 0x70], 1
je 0x301458cb
movzx ecx, word [eax + 0x7a]
jmp 0x301458d2
movzx ecx, word [edi + 0x8c]
test eax, eax
je 0x30145924
test byte [eax + 0x70], 1
je 0x30145924
movzx edx, word [eax + 0x78]
movzx esi, word [eax + 0x40]
lea edi, [ecx - 1]
lea ebx, [edx + esi]
cmp edi, ebx
jge 0x301458fc
mov esi, ecx
sub esi, edx
mov edx, dword [eax + 0x10]
movzx edx, word [edx + esi*2 - 2]
jmp 0x3014591c
movzx ebx, word [eax + 0x7a]
movzx edx, word [eax + 0x42]
sub ebx, edx
cmp edi, ebx
jl 0x30145921
movzx edi, word [eax + 0x7a]
sub edx, edi
add edx, esi
mov esi, dword [eax + 0x10]
add edx, ecx
movzx edx, word [esi + edx*2 - 2]
mov edi, dword [ebp + 0x10]
jmp 0x3014592c
mov edi, dword [ebp + 0x10]
mov edx, dword [edi + 0x1c]
movzx edx, word [edx + ecx*2 - 2]
test eax, eax
mov esi, dword [ebp + 0x1c]
mov word [esi + 0x16], dx
je 0x3014597c
test byte [eax + 0x70], 1
je 0x3014597c
movzx edx, word [eax + 0x78]
movzx esi, word [eax + 0x40]
lea edi, [ecx - 1]
lea ebx, [edx + esi]
cmp edi, ebx
jge 0x30145956
sub ecx, edx
mov eax, dword [eax + 0x34]
jmp 0x3014597f
movzx ebx, word [eax + 0x7a]
movzx edx, word [eax + 0x42]
sub ebx, edx
cmp edi, ebx
jl 0x30145977
movzx edi, word [eax + 0x7a]
mov eax, dword [eax + 0x34]
sub edx, edi
add edx, esi
add edx, ecx
mov ecx, dword [eax + edx*4 - 4]
jmp 0x30145983
mov eax, dword [ebp + 0x10]
jmp 0x30145951
mov eax, dword [edi + 0x34]
mov ecx, dword [eax + ecx*4 - 4]
mov eax, dword [ebp + 0x1c]
mov dword [eax + 0x18], ecx
pop esi
pop ebx
pop edi
pop ebp
ret 0x18