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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [ecx + 0x24]
push ebx
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
add eax, esi
push edi
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x20], edx
mov edx, dword [ecx + 8]
lea ebx, [eax - 8]
mov dword [esp + 0x58], ebx
mov ebx, dword [ecx + 4]
mov dword [esp + 0x34], ebx
add ebx, edi
mov dword [esp + 0x1c], ebx
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x38], edx
add edx, ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x38]
add ebx, edi
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], ebx
lea ebx, [eax - 8]
cmp esi, ebx
mov dword [esp + 0x28], esi
mov edi, dword [edx]
mov ebx, esi
mov dword [esp + 0x24], edi
mov edi, dword [edx + 4]
mov edx, dword [ecx + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], edi
jae 0x42e8d4
mov eax, 0x40
mov edi, 0x20
sub eax, edx
sub edi, edx
mov dword [esp + 0xc], eax
mov eax, 0x40
sub eax, dword [ecx + 0x7c]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x14]
add eax, 0xfffffffc
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x30], esi
cmp eax, 4
ja case.0x42df7c.0
jmp dword [eax*4 + 0x42e8ec]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.00461ce0
mov ecx, dword [esp + 0xc]
call fcn.0047b440
jmp 0x42dfd0
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x42df8d
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x42df8d
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x42df8d
imul eax, dword [esi], 0x9e3779b1
mov ecx, edi
shr eax, cl
mov ecx, dword [esp + 0x4c]
push 0xcf1bbcdc
mov dword [esp + 0x1c], eax
push 0xb7a56463
mov ecx, dword [ecx + eax*4]
cmp ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
push dword [esi + 4]
cmovb eax, dword [esp + 0x44]
push dword [esi]
add eax, ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
call fcn.00461ce0
mov ecx, dword [esp + 0x50]
call fcn.0047b440
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esp + 0x14]
mov eax, esi
mov edi, dword [esp + 0x34]
cmovb edi, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
add edi, edx
mov dword [esp + 0x2c], eax
sub eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], edx
mov eax, dword [esp + 0x34]
cmovb eax, dword [esp + 0x38]
add eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
mov dword [ecx], edx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x84], edi
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x40]
mov edx, dword [esp + 0x68]
dec eax
cmp eax, 3
mov eax, dword [esp + 0x44]
sbb ecx, ecx
inc ecx
cmp eax, dword [esp + 0x40]
sbb eax, eax
neg eax
test eax, ecx
lea ecx, [esi + 1]
mov dword [esp + 0x5c], ecx
je 0x42e18a
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x42e18a
mov edx, dword [esp + 0x10]
mov ebx, edx
mov eax, dword [esp + 0x14]
mov ecx, edx
cmp dword [esp + 0x40], eax
mov edi, dword [esp + 0x78]
cmovb ebx, dword [esp + 0x48]
add esi, 5
add edi, 4
mov dword [esp + 0x78], esi
mov eax, esi
sub eax, edi
add eax, ebx
cmp eax, edx
mov edx, edi
cmovb ecx, eax
push ecx
mov ecx, esi
call fcn.0042b150
mov esi, eax
add esp, 4
lea eax, [esi + edi]
cmp eax, ebx
jne 0x42e10f
mov ecx, dword [esp + 0x78]
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [esi + ecx]
call fcn.0042b150
add esp, 4
add esi, eax
mov ebx, dword [esp + 0x20]
lea edi, [esi + 4]
mov esi, dword [esp + 0x5c]
mov ecx, esi
mov edx, dword [esp + 0x28]
sub ecx, edx
mov dword [esp + 0x18], edi
mov eax, dword [ebx + 0xc]
mov ebx, eax
mov dword [esp + 0x74], ecx
lea eax, [ebx + ecx]
mov dword [esp + 0x78], eax
mov edi, eax
mov eax, dword [edx]
lea edx, [edx + 8]
mov ecx, dword [edx - 4]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
add ebx, 8
cmp ebx, edi
jb 0x42e138
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
add dword [ebx + 0xc], ecx
cmp ecx, 0xffff
jbe 0x42e175
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 4], cx
mov eax, dword [ebx + 4]
mov dword [eax], 1
jmp 0x42e580
cmp edx, dword [esp + 0x44]
mov edx, dword [esi]
jbe 0x42e2dd
mov eax, dword [esi + 4]
cmp dword [edi], edx
jne 0x42e2dd
cmp dword [edi + 4], eax
jne 0x42e2dd
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, edx
cmovb ebx, dword [esp + 0x48]
mov ecx, edx
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x6c]
add edi, 8
mov dword [esp + 0x78], eax
lea eax, [esi + 8]
sub eax, edi
add eax, ebx
cmp eax, edx
mov edx, edi
cmovb ecx, eax
push ecx
lea ecx, [esi + 8]
call fcn.0042b150
mov ecx, eax
add esp, 4
mov dword [esp + 0x74], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x42e211
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea eax, [esi + 8]
add ecx, eax
call fcn.0042b150
mov ecx, dword [esp + 0x78]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x2c]
lea edi, [ecx + 8]
sub eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x84]
cmp dword [esp + 0x78], ebx
mov edx, dword [esp + 0x28]
sbb ecx, ecx
mov dword [esp + 0x74], eax
neg ecx
mov dword [esp + 0x18], edi
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x42e261
mov al, byte [esi - 1]
dec ebx
cmp al, byte [ebx]
jne 0x42e25d
dec esi
inc edi
cmp dword [esp + 0x78], ebx
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x42e241
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x24]
mov ecx, esi
mov ebx, dword [esp + 0x20]
sub ecx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xc]
mov ebx, eax
mov dword [esp + 0x78], ecx
lea eax, [ebx + ecx]
mov dword [esp + 0x84], eax
mov edi, eax
nop
mov eax, dword [edx]
lea edx, [edx + 8]
mov ecx, dword [edx - 4]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
add ebx, 8
cmp ebx, edi
jb 0x42e290
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x18]
add dword [ebx + 0xc], ecx
cmp ecx, 0xffff
jbe 0x42e2cd
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x74]
jmp 0x42e578
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x70], eax
jbe 0x42e8ae
mov eax, dword [esp + 0x74]
cmp dword [eax], edx
jne 0x42e8ae
push 0xcf1bbcdc
push 0xb7a56463
push dword [ecx + 4]
push dword [ecx]
call fcn.00461ce0
mov ecx, dword [esp + 0x50]
call fcn.0047b440
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
cmovb edi, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
add edi, edx
inc eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x40], edi
mov dword [ecx], eax
cmp edx, dword [esp + 0x44]
jbe 0x42e43c
mov ecx, dword [esp + 0x5c]
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x42e43c
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 4]
jne 0x42e43c
cmp edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
cmovb ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x6c]
add esi, 9
mov dword [esp + 0x78], eax
add edi, 8
mov eax, esi
mov dword [esp + 0x84], esi
sub eax, edi
mov edx, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
mov ecx, esi
call fcn.0042b150
mov esi, eax
add esp, 4
lea eax, [esi + edi]
cmp eax, ebx
jne 0x42e3c6
mov ecx, dword [esp + 0x84]
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea ecx, [esi + ecx]
call fcn.0042b150
add esp, 4
add esi, eax
mov eax, dword [esp + 0x2c]
lea edi, [esi + 8]
sub eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
inc eax
cmp dword [esp + 0x78], ebx
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
sbb ecx, ecx
neg ecx
mov dword [esp + 0x70], eax
cmp edx, esi
mov dword [esp + 0x18], edi
sbb eax, eax
neg eax
test eax, ecx
je 0x42e500
nop dword [eax]
lea eax, [esi - 1]
mov dword [esp + 0x84], eax
lea ecx, [ebx - 1]
mov al, byte [eax]
mov ebx, ecx
cmp al, byte [ecx]
jne 0x42e500
mov esi, dword [esp + 0x84]
inc edi
cmp dword [esp + 0x78], ebx
mov dword [esp + 0x18], edi
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x42e400
jmp 0x42e500
mov ecx, dword [esp + 0x70]
cmp ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, edx
cmovb ebx, dword [esp + 0x48]
mov ecx, edx
mov eax, dword [esp + 0x1c]
cmovb eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x78], eax
add edi, 4
lea eax, [esi + 4]
sub eax, edi
add eax, ebx
cmp eax, edx
mov edx, edi
cmovb ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.0042b150
mov ecx, eax
add esp, 4
mov dword [esp + 0x84], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x42e4ad
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea eax, [esi + 4]
add ecx, eax
call fcn.0042b150
mov ecx, dword [esp + 0x88]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x2c]
lea edi, [ecx + 4]
sub eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
cmp dword [esp + 0x78], ebx
mov edx, dword [esp + 0x28]
sbb ecx, ecx
mov dword [esp + 0x70], eax
neg ecx
mov dword [esp + 0x18], edi
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x42e500
nop word [eax + eax]
mov al, byte [esi - 1]
dec ebx
cmp al, byte [ebx]
jne 0x42e4fc
dec esi
inc edi
cmp dword [esp + 0x78], ebx
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x42e4e0
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x24]
mov ecx, esi
mov ebx, dword [esp + 0x20]
sub ecx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xc]
mov ebx, eax
mov dword [esp + 0x78], ecx
lea eax, [ebx + ecx]
mov dword [esp + 0x84], eax
mov edi, eax
nop dword [eax]
mov eax, dword [edx]
lea edx, [edx + 8]
mov ecx, dword [edx - 4]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
add ebx, 8
cmp ebx, edi
jb 0x42e530
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x18]
add dword [ebx + 0xc], ecx
cmp ecx, 0xffff
jbe 0x42e56d
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x70]
mov eax, dword [ebx + 4]
add ecx, 3
mov dword [eax], ecx
lea ecx, [edi - 3]
cmp ecx, 0xffff
jbe 0x42e59d
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 2
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
add esi, edi
mov word [eax + 6], cx
add dword [ebx + 4], 8
mov ebx, esi
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], ebx
cmp esi, eax
ja 0x42e8be
mov eax, dword [esp + 0x60]
cmp eax, 4
ja case.0x42e5c5.0
jmp dword [eax*4 + 0x42e900]
push 0xcf1bbcdc
push 0xbb000000
mov eax, dword [esp + 0x38]
push dword [eax + 6]
push dword [eax + 2]
call fcn.00461ce0
mov ecx, dword [esp + 0xc]
call fcn.0047b440
jmp 0x42e625
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x42e5d6
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x42e5d6
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x42e5d6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
imul eax, dword [eax + 2], 0x9e3779b1
shr eax, cl
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x2c]
add edi, 2
push 0xcf1bbcdc
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x34]
push 0xb7a56463
push dword [eax + 6]
push dword [eax + 2]
call fcn.00461ce0
mov ecx, dword [esp + 0x50]
call fcn.0047b440
mov ecx, dword [esp + 0x54]
mov dword [ecx + eax*4], edi
mov eax, dword [esp + 0x60]
cmp eax, 4
ja case.0x42e665.0
jmp dword [eax*4 + 0x42e914]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 2]
push dword [esi - 2]
call fcn.00461ce0
mov ecx, dword [esp + 0xc]
call fcn.0047b440
mov edx, eax
jmp 0x42e6bf
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x42e676
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x42e676
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x42e676
imul edx, dword [esi - 2], 0x9e3779b1
mov ecx, dword [esp + 0x64]
shr edx, cl
mov eax, dword [esp + 0x4c]
mov edi, esi
sub edi, dword [esp + 0x34]
push 0xcf1bbcdc
push 0xb7a56463
add edi, 0xfffffffe
mov dword [eax + edx*4], edi
push dword [esi + 2]
push dword [esi - 2]
call fcn.00461ce0
mov ecx, dword [esp + 0x50]
call fcn.0047b440
mov ecx, dword [esp + 0x54]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x14]
mov eax, esi
sub eax, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov edx, eax
sub edx, dword [esp + 0x3c]
cmp edx, ecx
mov dword [esp + 0x74], eax
cmovae edi, dword [esp + 0x34]
sub ecx, edx
dec ecx
add edi, edx
cmp ecx, 3
sbb ecx, ecx
inc ecx
cmp dword [esp + 0x44], edx
sbb eax, eax
neg eax
test eax, ecx
je 0x42e8b8
mov eax, dword [edi]
cmp eax, dword [esi]
jne 0x42e8b8
cmp edx, dword [esp + 0x14]
lea eax, [esi + 4]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
cmovb ebx, dword [esp + 0x48]
add edi, 4
sub eax, edi
mov edx, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.0042b150
mov ecx, eax
add esp, 4
mov dword [esp + 0x84], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x42e792
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea eax, [esi + 4]
add ecx, eax
call fcn.0042b150
mov ecx, dword [esp + 0x88]
add esp, 4
add ecx, eax
mov ebx, dword [esp + 0x20]
add ecx, 4
mov edx, dword [esp + 0x24]
mov edi, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
mov edx, dword [ebx + 0xc]
mov ebx, edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], eax
mov eax, dword [edi]
lea edi, [edi + 8]
mov ecx, dword [edi - 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, ebx
jb 0x42e7b4
mov ebx, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [ebx + 4]
mov word [eax + 4], cx
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffffd
mov dword [eax], 1
cmp ecx, 0xffff
jbe 0x42e7ff
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 2
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 6], cx
add dword [ebx + 4], 8
mov eax, dword [esp + 0x60]
cmp eax, 4
ja case.0x42e813.0
jmp dword [eax*4 + 0x42e928]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.00461ce0
mov ecx, dword [esp + 0xc]
call fcn.0047b440
jmp 0x42e869
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x42e824
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x42e824
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x42e824
imul eax, dword [esi], 0x9e3779b1
mov ecx, dword [esp + 0x64]
shr eax, cl
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], edi
push dword [esi + 4]
push dword [esi]
call fcn.00461ce0
mov ecx, dword [esp + 0x50]
call fcn.0047b440
mov ecx, dword [esp + 0x54]
add esi, dword [esp + 0x78]
mov ebx, esi
mov dword [esp + 0x28], ebx
mov dword [ecx + eax*4], edi
cmp esi, dword [esp + 0x58]
jbe 0x42e6f4
jmp 0x42e8cc
mov eax, esi
sub eax, ebx
sar eax, 8
inc eax
add esi, eax
mov eax, dword [esp + 0x58]
cmp esi, eax
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
jb 0x42df73
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x3c]
mov edx, dword [ebp + 8]
sub eax, ebx
mov ecx, dword [esp + 0x24]
mov dword [edx + 4], edi
pop edi
pop esi
mov dword [edx], ecx
pop ebx
mov esp, ebp
pop ebp
ret