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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx + 0x84]
add eax, 0xfffffffc
cmp eax, 3
ja case.0x42fb81.4
jmp dword [eax*4 + 0x43040c]
mov ecx, dword [ebx + 0x78]
mov edx, 1
mov eax, dword [ebx + 0x2c]
mov edi, dword [ebp + 0xc]
shl edx, cl
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
lea eax, [edx - 1]
mov dword [esp + 0x14], 3
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 4]
add ecx, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x24], eax
mov eax, ecx
mov dword [esp + 0x28], ecx
sub eax, edx
cmp edx, ecx
push 5
sbb ecx, ecx
lea edx, [ebx + 0x74]
and ecx, eax
mov eax, 1
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x80]
shl eax, cl
mov ecx, ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0042f4f0
mov esi, dword [esp + 0x18]
mov ebx, eax
add esp, 8
cmp dword [esp + 0x1c], ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x42fcf1
nop dword [eax + eax]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add edx, ebx
mov al, byte [edx + ecx]
cmp al, byte [ecx + edi]
jne 0x42fcc3
mov esi, dword [ebp + 0x10]
mov ecx, edi
add esi, 0xfffffffd
cmp edi, esi
jae 0x42fc79
mov eax, dword [edx]
xor eax, dword [edi]
je 0x42fc5b
mov esi, dword [ebp + 0x10]
bsf edx, eax
mov dword [esp + 0x3c], 0
shr edx, 3
jmp 0x42fca0
lea ecx, [edi + 4]
add edx, 4
cmp ecx, esi
jae 0x42fc79
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x42fe51
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x42fc65
mov esi, dword [ebp + 0x10]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x42fc91
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x42fc91
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x42fc9c
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42fc9c
inc ecx
mov edx, ecx
sub edx, edi
cmp edx, dword [esp + 0x14]
jbe 0x42fcbf
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], edx
mov dword [ecx], eax
lea eax, [edx + edi]
cmp eax, esi
je 0x42fcf1
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x18]
jbe 0x42fcf1
and ebx, dword [esp + 0x2c]
dec esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov ebx, dword [eax + ebx*4]
cmp dword [esp + 0x1c], ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x42fc20
mov esi, dword [ebp + 8]
mov ebx, 1
push 0xcf1bbcdc
push 0xbb000000
push dword [edi + 4]
mov esi, dword [esi + 0x70]
push dword [edi]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0xc]
shl ebx, cl
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov ecx, eax
sub ecx, edx
mov dword [esp + 0x34], eax
sub dword [esp + 0x30], ecx
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x28], ebx
cmp ebx, ecx
mov dword [esp + 0x40], edx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x48], ecx
call fcn.00461ce0
mov ecx, 0x40
sub ecx, dword [esi + 0x7c]
call fcn.0047b440
mov edx, dword [esp + 0x1c]
mov ecx, eax
mov eax, dword [esi + 0x24]
mov esi, dword [esp + 0x10]
mov ebx, dword [eax + ecx*4]
cmp edx, ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4303e6
nop dword [eax]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + ebx]
cmp eax, dword [edi]
jne 0x42fe0f
lea esi, [ecx + 4]
mov ecx, dword [ebp + 0x10]
add esi, ebx
lea eax, [edi + 4]
sub eax, esi
mov edx, esi
add eax, dword [esp + 0x24]
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [edi + 4]
call fcn.0042b150
mov ecx, eax
add esp, 4
mov dword [esp + 0x2c], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp + 0x10]
cmp eax, dword [esp + 0x24]
jne 0x42fddd
mov edx, dword [esp + 0x34]
lea eax, [edi + 4]
push esi
add ecx, eax
call fcn.0042b150
mov ecx, dword [esp + 0x30]
add esp, 4
add ecx, eax
add ecx, 4
cmp ecx, dword [esp + 0x14]
jbe 0x42fe07
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], ecx
mov dword [edx], eax
lea eax, [ecx + edi]
cmp eax, esi
je 0x4303e6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x38]
jbe 0x4303e6
mov eax, dword [esp + 0x18]
dec esi
mov ecx, dword [esp + 0x3c]
dec eax
and eax, ebx
mov dword [esp + 0x10], esi
mov ebx, dword [ecx + eax*4]
cmp edx, ebx
sbb edx, edx
xor eax, eax
neg edx
cmp eax, esi
sbb ecx, ecx
neg ecx
test ecx, edx
mov edx, dword [esp + 0x1c]
jne 0x42fd80
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
bsf edx, eax
mov dword [esp + 0x3c], 0
shr edx, 3
sub edx, edi
add edx, ecx
jmp 0x42fca0
mov ecx, dword [ebx + 0x78]
mov edx, 1
mov eax, dword [ebx + 0x2c]
mov edi, dword [ebp + 0xc]
shl edx, cl
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
lea eax, [edx - 1]
mov dword [esp + 0x14], 3
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 4]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x3c], eax
mov eax, ecx
mov dword [esp + 0x24], ecx
sub eax, edx
cmp edx, ecx
push 6
sbb ecx, ecx
lea edx, [ebx + 0x74]
and ecx, eax
mov eax, 1
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx + 0x80]
shl eax, cl
mov ecx, ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0042f4f0
mov esi, dword [esp + 0x18]
add esp, 8
mov ebx, eax
cmp dword [esp + 0x28], ebx
sbb edx, edx
xor eax, eax
neg edx
cmp eax, esi
sbb ecx, ecx
neg ecx
test ecx, edx
je 0x42ffd1
nop
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
add edx, ebx
mov al, byte [edx + ecx]
cmp al, byte [ecx + edi]
jne 0x42ffa3
mov esi, dword [ebp + 0x10]
mov ecx, edi
add esi, 0xfffffffd
cmp edi, esi
jae 0x42ff59
mov eax, dword [edi]
xor eax, dword [edx]
je 0x42ff3b
mov esi, dword [ebp + 0x10]
bsf edx, eax
mov dword [esp + 0x1c], 0
shr edx, 3
jmp 0x42ff80
lea ecx, [edi + 4]
add edx, 4
cmp ecx, esi
jae 0x42ff59
mov eax, dword [ecx]
xor eax, dword [edx]
jne 0x43012d
add ecx, 4
add edx, 4
cmp ecx, esi
jb 0x42ff45
mov esi, dword [ebp + 0x10]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x42ff71
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x42ff71
add ecx, 2
add edx, 2
cmp ecx, esi
jae 0x42ff7c
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x42ff7c
inc ecx
mov edx, ecx
sub edx, edi
cmp edx, dword [esp + 0x14]
jbe 0x42ff9f
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], edx
mov dword [ecx], eax
lea eax, [edx + edi]
cmp eax, esi
je 0x42ffd1
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x38]
jbe 0x42ffd1
and ebx, dword [esp + 0x34]
dec esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov ebx, dword [eax + ebx*4]
cmp dword [esp + 0x28], ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x42ff00
mov esi, dword [ebp + 8]
mov ebx, 1
push 0xcf1bbcdc
push 0xbf9b0000
push dword [edi + 4]
mov esi, dword [esi + 0x70]
push dword [edi]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0xc]
shl ebx, cl
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
mov ecx, eax
sub ecx, edx
mov dword [esp + 0x38], eax
sub dword [esp + 0x30], ecx
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x28], ebx
cmp ebx, ecx
mov dword [esp + 0x4c], edx
sbb ecx, ecx
and ecx, eax
mov dword [esp + 0x44], ecx
call fcn.00461ce0
mov ecx, 0x40
sub ecx, dword [esi + 0x7c]
call fcn.0047b440
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov ebx, dword [ecx + eax*4]
cmp edx, ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4303e6
nop dword [eax + eax]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + ebx]
cmp eax, dword [edi]
jne 0x4300eb
lea esi, [ecx + 4]
mov ecx, dword [ebp + 0x10]
add esi, ebx
lea eax, [edi + 4]
sub eax, esi
mov edx, esi
add eax, dword [esp + 0x28]
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [edi + 4]
call fcn.0042b150
add esp, 4
mov dword [esp + 0x38], eax
lea ecx, [eax + esi]
mov esi, dword [ebp + 0x10]
cmp ecx, dword [esp + 0x28]
jne 0x4300b9
mov edx, dword [esp + 0x2c]
lea ecx, [edi + 4]
push esi
add ecx, eax
call fcn.0042b150
add esp, 4
add eax, dword [esp + 0x38]
lea ecx, [eax + 4]
cmp ecx, dword [esp + 0x14]
jbe 0x4300e3
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], ecx
mov dword [edx], eax
lea eax, [ecx + edi]
cmp eax, esi
je 0x4303e6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x34]
jbe 0x4303e6
mov eax, dword [esp + 0x18]
dec esi
mov ecx, dword [esp + 0x30]
dec eax
and eax, ebx
mov dword [esp + 0x10], esi
mov ebx, dword [ecx + eax*4]
cmp edx, ebx
sbb edx, edx
xor eax, eax
neg edx
cmp eax, esi
sbb ecx, ecx
neg ecx
test ecx, edx
mov edx, dword [esp + 0x1c]
jne 0x430060
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
bsf edx, eax
mov dword [esp + 0x1c], 0
shr edx, 3
sub edx, edi
add edx, ecx
jmp 0x42ff80
mov ecx, dword [ebx + 0x78]
mov edx, 1
mov eax, dword [ebx + 0x2c]
mov edi, dword [ebp + 0xc]
shl edx, cl
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
lea eax, [edx - 1]
mov dword [esp + 0x14], 3
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 4]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x28], ecx
mov ecx, edi
sub ecx, eax
mov dword [esp + 0x3c], eax
mov eax, ecx
mov dword [esp + 0x24], ecx
sub eax, edx
cmp edx, ecx
push 4
sbb ecx, ecx
lea edx, [ebx + 0x74]
and ecx, eax
mov eax, 1
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx + 0x80]
shl eax, cl
mov ecx, ebx
push edi
mov dword [esp + 0x18], eax
call fcn.0042f4f0
mov esi, dword [esp + 0x18]
add esp, 8
mov ebx, eax
cmp dword [esp + 0x28], ebx
sbb edx, edx
xor eax, eax
neg edx
cmp eax, esi
sbb ecx, ecx
neg ecx
test ecx, edx
je 0x4302b1
nop word [eax + eax]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
add edx, ebx
mov al, byte [edx + ecx]
cmp al, byte [ecx + edi]
jne 0x430283
mov esi, dword [ebp + 0x10]
mov eax, edi
add esi, 0xfffffffd
cmp edi, esi
jae 0x430239
mov eax, dword [edi]
xor eax, dword [edx]
je 0x43021b
mov esi, dword [ebp + 0x10]
bsf ecx, eax
mov dword [esp + 0x1c], 0
shr ecx, 3
jmp 0x430260
lea eax, [edi + 4]
add edx, 4
cmp eax, esi
jae 0x430239
mov ecx, dword [eax]
xor ecx, dword [edx]
jne 0x4303f1
add eax, 4
add edx, 4
cmp eax, esi
jb 0x430225
mov esi, dword [ebp + 0x10]
lea ecx, [esi - 1]
cmp eax, ecx
jae 0x430251
mov cx, word [edx]
cmp cx, word [eax]
jne 0x430251
add eax, 2
add edx, 2
cmp eax, esi
jae 0x43025c
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x43025c
inc eax
mov ecx, eax
sub ecx, edi
cmp ecx, dword [esp + 0x14]
jbe 0x43027f
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], ecx
mov dword [edx], eax
lea eax, [ecx + edi]
cmp eax, esi
je 0x4302b1
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x38]
jbe 0x4302b1
and ebx, dword [esp + 0x34]
dec esi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov ebx, dword [eax + ebx*4]
cmp dword [esp + 0x28], ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x4301e0
mov esi, dword [ebp + 8]
mov ebx, 1
mov esi, dword [esi + 0x70]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 4]
shl ebx, cl
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
mov ecx, eax
sub ecx, edx
mov dword [esp + 0x28], eax
sub dword [esp + 0x20], ecx
mov eax, ecx
sub eax, ebx
mov dword [esp + 0x3c], edx
cmp ebx, ecx
mov dword [esp + 0x18], ebx
sbb ecx, ecx
imul edx, dword [edi], 0x9e3779b1
and ecx, eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, 0x20
sub ecx, dword [esi + 0x7c]
mov esi, dword [esp + 0x10]
shr edx, cl
mov ebx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
cmp edx, ebx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp eax, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4303e6
nop word [eax + eax]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + ebx]
cmp eax, dword [edi]
jne 0x4303b3
lea esi, [ecx + 4]
mov ecx, dword [ebp + 0x10]
add esi, ebx
lea eax, [edi + 4]
sub eax, esi
mov edx, esi
add eax, dword [esp + 0x28]
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [edi + 4]
call fcn.0042b150
add esp, 4
mov dword [esp + 0x38], eax
lea ecx, [eax + esi]
mov esi, dword [ebp + 0x10]
cmp ecx, dword [esp + 0x28]
jne 0x430385
mov edx, dword [esp + 0x2c]
lea ecx, [edi + 4]
push esi
add ecx, eax
call fcn.0042b150
add esp, 4
add eax, dword [esp + 0x38]
lea ecx, [eax + 4]
cmp ecx, dword [esp + 0x14]
jbe 0x4303ab
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
mov edx, dword [ebp + 0x14]
sub eax, ebx
add eax, 2
mov dword [esp + 0x14], ecx
mov dword [edx], eax
lea eax, [ecx + edi]
cmp eax, esi
je 0x4303e6
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
cmp ebx, dword [esp + 0x34]
jbe 0x4303e6
mov eax, dword [esp + 0x18]
dec esi
mov ecx, dword [esp + 0x30]
dec eax
and eax, ebx
mov dword [esp + 0x10], esi
mov ebx, dword [ecx + eax*4]
cmp edx, ebx
sbb edx, edx
xor eax, eax
neg edx
cmp eax, esi
sbb ecx, ecx
neg ecx
test ecx, edx
mov edx, dword [esp + 0x1c]
jne 0x430330
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
bsf ecx, ecx
mov dword [esp + 0x1c], 0
shr ecx, 3
sub ecx, edi
add ecx, eax
jmp 0x430260