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

Disassembly:
sub esp, 0x80
mov dword [esp + 0x50], ecx
push ebx
mov ecx, dword [esp + 0x88]
push ebp
push esi
push edi
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
mov edi, dword [ecx]
mov ebp, dword [ecx + 0x14]
dec eax
xor ebx, ebx
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0x64], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov word [esp + 0x18], bx
mov word [esp + 0x1a], bx
mov word [esp + 0x70], bx
mov word [esp + 0x72], bx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov word [esp + 0x14], bx
mov word [esp + 0x16], bx
jle 0x42950a
mov dword [esp + 0x10], edx
cmp esi, 0x14
jge 0x429438
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 8
mov dword [esp + 0x6c], eax
jne 0x4291d9
mov ax, word [esp + 0x82]
mov edx, dword [0x839d80]
add ax, word [0x839d82]
add edi, edx
mov word [esp + 0x40], bx
mov word [esp + 0x42], bx
mov edx, dword [esp + 0x40]
mov word [esp + 0x3e], ax
mov eax, dword [esp + 0x10]
inc esi
add eax, 4
mov word [esp + 0x3c], di
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
mov word [esp + 0x44], bx
mov word [esp + 0x46], bx
mov eax, dword [esp + 0x44]
mov word [esp + 0x48], bx
mov word [esp + 0x4a], bx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x80], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x70], edx
jmp 0x42942e
cmp eax, 0xfffffffe
jne 0x4291ef
mov eax, dword [esp + 0x10]
inc esi
add eax, 4
mov dword [esp + 0x10], eax
jmp 0x42942e
and eax, 7
mov bx, word [eax*4 + 0x839d80]
mov bp, word [eax*4 + 0x839d82]
mov cx, word [eax*4 + 0x839d80]
lea eax, [eax*4 + 0x839d80]
add cx, word [esp + 0x14]
add bx, word [esp + 0x18]
mov ax, word [eax + 2]
add bp, word [esp + 0x1a]
add ax, word [esp + 0x16]
mov word [esp + 0x30], cx
mov word [esp + 0x50], bx
mov word [esp + 0x52], bp
mov word [esp + 0x32], ax
movsx eax, cx
cdq
mov ecx, eax
mov eax, dword [esp + 0x20]
xor ecx, edx
sub ecx, edx
cmp ecx, eax
jl 0x429384
movsx eax, word [esp + 0x32]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x24]
cmp eax, edx
jl 0x429384
mov edx, dword [esp + 0x30]
mov dword [esp + 0x24], eax
movsx eax, bp
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
cdq
mov ecx, eax
movsx eax, bx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jg 0x429291
mov eax, ecx
mov edx, dword [esp + 0x6c]
and edx, 7
mov cx, word [edx*4 + 0x839d80]
lea edx, [edx*4 + 0x839d80]
add cx, di
mov dx, word [edx + 2]
mov word [esp + 0x88], cx
add dx, word [esp + 0x82]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
mov word [esp + 0x8a], dx
mov ebx, dword [esp + 0x88]
mov edi, ebx
mov dword [esp + 0x80], edi
jge 0x4292e7
mov dword [esp + 0x28], eax
jmp 0x42936b
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x60]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x38]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push esi
push eax
mov ecx, ebp
mov dword [esp + 0x8c], ebx
call fcn.00429570
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8a]
mov edx, dword [esp + 0x7a]
sub ebx, eax
mov eax, dword [esp + 0x38]
sub ecx, edx
mov word [esp + 0x4c], bx
mov word [esp + 0x4e], cx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x6c], edx
push 0
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x9c]
push edx
lea edx, [esp + 0x74]
push ecx
push edx
mov edx, esi
lea ecx, [esp + 0x88]
sub edx, eax
push ecx
mov ecx, dword [esp + 0x30]
inc edx
push edx
lea edx, [ecx + eax*4]
mov ecx, ebp
push edx
call fcn.004296f0
mov eax, dword [esp + 0x50]
inc esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x10], eax
jmp 0x429425
xor ecx, ecx
cmp word [esp + 0x70], cx
jne 0x4293b8
cmp word [esp + 0x72], cx
jne 0x4293b8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov word [esp + 0x54], cx
mov word [esp + 0x56], cx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x70], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], ecx
jmp 0x429425
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x72]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x82]
sub ebx, edi
sub eax, edx
mov word [esp + 0x58], bx
mov word [esp + 0x5a], ax
mov edx, dword [esp + 0x58]
movsx eax, ax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov word [esp + 0x5c], cx
mov word [esp + 0x5e], cx
mov ecx, dword [esp + 0x5c]
cdq
mov dword [esp + 0x14], ecx
mov ecx, eax
movsx eax, bx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
mov dword [esp + 0x28], eax
jg 0x42941d
mov dword [esp + 0x28], ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x94]
xor ebx, ebx
cmp esi, dword [esp + 0x68]
jl 0x429136
cmp word [esp + 0x70], bx
jne 0x42944a
cmp word [esp + 0x72], bx
je 0x42950a
mov eax, dword [esp + 0x82]
mov ecx, dword [esp + 0x72]
mov edx, dword [esp + 0x70]
sub eax, ecx
movsx eax, ax
mov ebp, edi
sub ebp, edx
cdq
mov ecx, eax
movsx eax, bp
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jg 0x429477
mov eax, ecx
mov edx, dword [esp + 0x2c]
mov ecx, esi
sub ecx, edx
dec ecx
cmp ecx, eax
jle 0x429503
mov ebp, dword [esp + 0x60]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x38]
push eax
push ecx
dec esi
push edx
mov edx, dword [esp + 0x28]
push esi
push edx
mov ecx, ebp
mov dword [esp + 0x8c], edi
call fcn.00429570
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7a]
sub edi, eax
mov eax, dword [esp + 0x82]
mov ecx, dword [esp + 0x64]
sub eax, edx
mov word [esp + 0x60], di
mov word [esp + 0x62], ax
mov eax, dword [esp + 0x60]
push 1
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
sub esi, eax
mov edx, dword [ecx + eax*4]
mov ecx, dword [esp + 0x9c]
push edx
lea edx, [esp + 0x74]
push ecx
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x88]
inc esi
push ecx
lea eax, [edx + eax*4]
push esi
push eax
mov ecx, ebp
call fcn.004296f0
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x1c]
xor esi, esi
mov eax, dword [edx]
cmp eax, 0xffffffff
je 0x42953a
mov ebp, dword [esp + 0x68]
mov edi, edx
cmp esi, ebp
jge 0x42953a
cmp eax, 0xfffffffe
je 0x42952e
mov eax, dword [edx]
inc ebx
mov dword [edi], eax
add edi, 4
mov eax, dword [edx + 4]
add edx, 4
inc esi
cmp eax, 0xffffffff
jne 0x42951d
mov eax, dword [ecx + 8]
mov edx, ebx
inc eax
cmp ebx, eax
jge 0x42955d
mov eax, dword [esp + 0x1c]
lea eax, [eax + ebx*4]
mov dword [eax], 0xffffffff
mov esi, dword [ecx + 8]
inc edx
add eax, 4
inc esi
cmp edx, esi
jl 0x42954b
inc ebx
pop edi
pop esi
mov dword [ecx + 8], ebx
pop ebp
pop ebx
add esp, 0x80
ret 8