Function at 0x42c580
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
mov dx, word [ebx + 0x1e]
push edi
mov edi, dword [esp + 0x68]
mov ax, word [edi + 0x1c]
mov bp, word [edi + 2]
mov cx, word [edi + 0x1e]
mov esi, dword [edi + 0x10]
mov word [esp + 0x10], ax
mov eax, ebp
mov word [esp + 0x14], cx
and eax, 0xffff
mov ecx, edx
inc eax
and ecx, 0xffff
mov dword [esp + 0x18], ebp
cmp ecx, eax
jg 0x42c694
xor ecx, ecx
test dx, dx
mov dword [esp + 0x1c], ecx
jbe 0x42c694
and ecx, 0xffff
cmp word [esp + 0x1c], bp
mov ax, word [ebx + ecx*2 + 8]
jne 0x42c629
cmp ax, word [esi + 2]
jae 0x42c694
mov ecx, dword [esp + 0x10]
and eax, 0xffff
and ecx, 0xffff
inc eax
mov edx, dword [esp + 0x14]
imul eax, ecx
and edx, 0xffff
push ecx
sub edx, eax
add edx, esi
push edx
push ebx
call fcn.00425970
add esp, 0xc
test eax, eax
jne 0x42c6ea
jmp 0x42c64d
cmp ax, word [esi + 2]
ja 0x42c694
lea edi, [ecx + 1]
and edx, 0xffff
and eax, 0xffff
cmp edi, edx
je 0x42c665
mov edi, dword [esp + 0x68]
mov dword [esp + ecx*4 + 0x34], esi
mov esi, dword [esi + eax*4 + 4]
mov ecx, dword [esp + 0x1c]
mov dx, word [ebx + 0x1e]
inc ecx
cmp cx, dx
mov dword [esp + 0x1c], ecx
jb 0x42c5d7
jmp 0x42c694
mov ecx, dword [esp + 0x10]
and ecx, 0xffff
inc eax
imul eax, ecx
push ecx
mov ecx, dword [esp + 0x18]
and ecx, 0xffff
sub ecx, eax
add ecx, esi
push ecx
push ebx
call fcn.00425970
add esp, 0xc
test eax, eax
jne 0x42c6ea
mov edi, dword [esp + 0x68]
mov edx, dword [edi + 0x10]
push ebx
push edi
push ebp
push edx
call fcn.0042c3f0
add esp, 0x10
test eax, eax
je 0x42c6ba
pop edi
pop esi
mov word [ebx + 0x1e], 0
pop ebp
mov eax, 6
pop ebx
add esp, 0x54
ret
mov esi, dword [edi + 0x10]
xor ecx, ecx
mov cx, word [ebx + 0x1e]
xor edx, edx
cmp ecx, 1
jle 0x42c6ea
xor eax, eax
xor edi, edi
inc edx
mov di, word [ebx + eax*2 + 8]
mov dword [esp + eax*4 + 0x34], esi
mov eax, edx
mov esi, dword [esi + edi*4 + 4]
and eax, 0xffff
lea edi, [eax + 1]
cmp edi, ecx
jl 0x42c6cc
mov ax, word [ebx + 0x1e]
lea edi, [eax - 1]
and eax, 0xffff
cmp di, bp
mov ax, word [ebx + eax*2 + 6]
jae 0x42c7c5
mov ecx, eax
mov edx, edi
and ecx, 0xffff
and edx, 0xffff
inc ecx
inc edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + ecx*4]
mov dword [esp + edx*4 + 0x34], esi
cmp di, bp
mov word [ebx + edx*2 + 8], ax
mov esi, ecx
je 0x42c778
mov eax, edi
and eax, 0xffff
lea edx, [esp + eax*4 + 0x34]
lea ebx, [ebx + eax*2 + 8]
mov eax, ebp
sub eax, edi
and eax, 0xffff
mov dword [esp + 0x28], eax
add edi, eax
mov ax, word [ecx + 2]
mov dword [edx], esi
mov ebp, eax
add ebx, 2
and ebp, 0xffff
add edx, 4
mov ecx, dword [ecx + ebp*4 + 4]
mov word [ebx - 2], ax
mov eax, dword [esp + 0x28]
mov esi, ecx
dec eax
mov dword [esp + 0x28], eax
jne 0x42c74f
mov bx, word [ecx + 2]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
dec bx
mov dword [esp + 0x28], ebx
and ebx, 0xffff
and eax, 0xffff
and edx, 0xffff
inc ebx
push eax
imul ebx, eax
imul eax, dword [esp + 0x34]
mov ebp, edx
sub edx, eax
sub ebp, ebx
mov ebx, dword [esp + 0x30]
add ebp, ecx
add edx, ebx
push ebp
push edx
call fcn.00425840
mov eax, dword [esp + 0x34]
add esp, 0xc
mov ebx, dword [esp + 0x6c]
xor edx, edx
and eax, 0xffff
mov dx, word [esi + 2]
mov ecx, edx
sub ecx, eax
dec ecx
cmp di, word [esp + 0x18]
jae 0x42c825
lea ebp, [ecx + 1]
lea eax, [esi + eax*4 + 8]
lea edx, [ebp*4]
push edx
push 0xfffffffffffffffc
push eax
call fcn.00425910
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dx, word [esi + 2]
and eax, 0xffff
mov ecx, eax
imul ecx, ebp
inc edx
push ecx
imul edx, eax
push eax
mov eax, dword [esp + 0x28]
and eax, 0xffff
sub eax, edx
add eax, esi
push eax
call fcn.00425910
add esp, 0x18
jmp 0x42c853
test ecx, ecx
jle 0x42c853
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov ebp, eax
imul ebp, ecx
push ebp
push eax
mov ecx, dword [esp + 0x1c]
imul eax, edx
and ecx, 0xffff
sub ecx, eax
add ecx, esi
push ecx
call fcn.00425910
add esp, 0xc
dec word [esi + 2]
mov cx, word [esi + 2]
test di, di
je 0x42cb53
test cx, cx
ja 0x42cb83
mov eax, edi
and eax, 0xffff
mov dword [esp + 0x30], eax
mov ebp, dword [esp + eax*4 + 0x30]
mov ax, word [ebx + eax*2 + 6]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], eax
cmp ax, word [ebp + 2]
jae 0x42c9fb
mov ecx, eax
mov bx, word [esi + 2]
and ecx, 0xffff
cmp di, word [esp + 0x18]
mov dword [esp + 0x20], ecx
mov edx, dword [ebp + ecx*4 + 8]
mov dword [esp + 0x1c], edx
mov ax, word [edx + 2]
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x68]
jne 0x42c8c8
mov bx, word [ebx + 0xc]
jmp 0x42c8cc
mov bx, word [ebx + 0xe]
cmp word [esp + 0x2c], bx
mov ebx, dword [esp + 0x10]
ja 0x42c989
and ebx, 0xffff
and eax, 0xffff
mov ecx, ebx
mov ebp, dword [esp + 0x14]
imul ecx, eax
push ecx
mov ecx, ebx
neg ecx
push ecx
mov ecx, ebx
imul ecx, eax
and ebp, 0xffff
mov eax, ebp
sub eax, ecx
add eax, edx
push eax
call fcn.00425910
mov ecx, dword [esp + 0x2c]
mov edx, ebp
inc ecx
push ebx
imul ecx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x38]
sub ebp, ebx
mov ebx, dword [esp + 0x2c]
add edx, ecx
add ebp, ebx
push edx
push ebp
call fcn.00425840
add esp, 0x18
cmp di, word [esp + 0x18]
jae 0x42c95a
xor eax, eax
lea ebp, [ebx + 4]
mov ax, word [ebx + 2]
lea ecx, [eax*4 + 4]
push ecx
push 4
push ebp
call fcn.00425910
mov edx, dword [esi + 4]
add esp, 0xc
mov dword [ebp], edx
inc word [ebx + 2]
push esi
mov esi, dword [esp + 0x6c]
mov eax, dword [esi + 0x14]
push eax
call fcn.00427190
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x2c]
add esp, 8
dec edx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x28]
add edi, 0xffff
jmp 0x42c7c1
mov eax, dword [esp + 0x14]
and ebx, 0xffff
and eax, 0xffff
inc ecx
imul ecx, ebx
mov edx, eax
push ebx
sub edx, ecx
lea ecx, [edx + ebp]
mov ebp, eax
sub ebp, ebx
push ecx
mov dword [esp + 0x34], ecx
lea eax, [esi + ebp]
push eax
call fcn.00425840
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x42c9ca
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov dword [esi + 8], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc word [esi + 2]
add ebp, eax
push ebx
push ebp
push ecx
call fcn.00425840
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x28]
add esp, 0xc
xor eax, eax
inc word [ecx + edx*2 + 6]
jmp 0x42c7c1
add eax, 0xffff
mov edx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
and eax, 0xffff
mov dword [esp + 0x20], eax
inc eax
cmp di, word [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebp + eax*4]
mov ax, word [ebx + 2]
lea ecx, [eax + ecx + 1]
jne 0x42ca2f
mov dx, word [edx + 0xc]
jmp 0x42ca33
mov dx, word [edx + 0xe]
cmp cx, dx
ja 0x42cac8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
and ecx, 0xffff
and edx, 0xffff
mov dword [esp + 0x28], ecx
push ecx
imul ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
sub edx, ecx
and eax, 0xffff
add edx, ebp
inc eax
mov ecx, dword [esp + 0x20]
imul eax, dword [esp + 0x2c]
sub ecx, eax
push edx
add ecx, ebx
push ecx
call fcn.00425840
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x42ca93
mov ecx, dword [esi + 4]
xor eax, eax
mov ax, word [ebx + 2]
mov dword [ebx + eax*4 + 8], ecx
inc word [ebx + 2]
push esi
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 0x14]
push edx
call fcn.00427190
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x28]
add esp, 8
dec edx
mov dword [esi + 8], edx
mov dword [ebp + eax*4 + 8], ebx
mov eax, dword [esp + 0x24]
mov esi, ebp
add edi, 0xffff
jmp 0x42c7c1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
and eax, 0xffff
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x1c], ecx
imul edx, dword [esp + 0x2c]
sub ecx, edx
push eax
add ebp, ecx
mov ecx, dword [esp + 0x20]
sub ecx, eax
push ebp
add ecx, esi
mov dword [esp + 0x30], eax
push ecx
call fcn.00425840
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x42cb15
xor edx, edx
mov dx, word [ebx + 2]
mov eax, dword [ebx + edx*4 + 4]
mov dword [esi + 4], eax
inc word [esi + 2]
mov eax, dword [esp + 0x28]
xor ecx, ecx
push eax
mov cx, word [ebx + 2]
imul ecx, eax
mov eax, dword [esp + 0x20]
sub eax, ecx
add eax, ebx
push eax
push ebp
call fcn.00425840
mov ax, word [ebx + 2]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
add esp, 0xc
dec ax
mov esi, ebx
dec word [edx + ecx*2 + 6]
jmp 0x42c7c1
test cx, cx
jne 0x42cb83
cmp word [esp + 0x18], cx
jbe 0x42cb83
mov edi, dword [esp + 0x68]
mov edx, dword [esi + 4]
push esi
mov eax, dword [edi + 0x14]
dec word [edi + 2]
push eax
mov dword [edi + 0x10], edx
call fcn.00427190
mov eax, dword [edi + 8]
add esp, 8
dec eax
mov dword [edi + 8], eax
jmp 0x42cb87
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
mov ebp, dword [edi + 4]
and eax, 0xffff
dec ebp
push eax
mov dword [edi + 4], ebp
push ebx
mov word [ebx + 0x1e], 0
call fcn.00425870
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret