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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [ebp + 8]
mov edx, dword [eax + 4]
mov ecx, dword [edx + 0x1b4]
mov dword [ebp - 0x44], ecx
mov eax, dword [eax + 0xa8]
mov ecx, dword [ecx + 0x28]
mov ebx, dword [eax + 0x6c]
test ebx, ebx
je 0x42db5a
mov edi, eax
mov ebx, dword [eax + 0xc0]
mov dword [ebp - 0x48], ebx
cmp ebx, 0
je 0x42d8cd
jl 0x42dbdc
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x78]
or eax, dword [ebx + 0x7c]
je 0x42d49c
mov esi, dword [ebx + 0x28]
or esi, 0x40
mov dword [ebx + 0x28], esi
mov edx, dword [edx + 0x1b4]
mov dword [ebp - 0x44], edx
mov edi, dword [ebx + 0xa8]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], 0
mov esi, dword [eax + 0x28]
mov ecx, esi
shr ecx, 5
and ecx, 0xfffff
test cl, 2
je 0x42d4ca
mov ebx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebx + 0x2c]
add dword [ebp - 0x58], eax
adc dword [ebp - 0x54], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
cmp dword [edi + 0xbc], 0
mov eax, dword [eax + 0x6c]
mov edx, dword [edx + 0x30]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
ja 0x42d508
cmp dword [edi + 0xb8], 0xfff
ja 0x42d508
and ecx, 0xffeff
and esi, 0xfe00001f
shl ecx, 5
or esi, ecx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x28], esi
mov ebx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x42dbd0
mov eax, dword [eax + 0xc]
inc edi
test eax, eax
jne 0x42d518
lea eax, [edi*4 + 4]
xor edx, edx
push ebx
push ebx
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov esi, eax
test eax, eax
je 0x42d98b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x64]
xor edx, edx
test eax, eax
je 0x42d55e
nop
lea esi, [esi]
mov dword [esi + edx*4], eax
inc edx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x42d550
shl edx, 2
mov dword [esi + edx], 0
push 0x42cdd0
push 4
push edi
push esi
call sub.msvcrt.dll_qsort
mov ecx, dword [ebp + 8]
add esp, 0x10
mov dword [ebp - 0xa4], 1
test edi, edi
mov dword [ecx + 0x64], 0
mov dword [ecx + 0x68], 0
je 0x42d5f3
xor ecx, ecx
jmp 0x42d5af
inc ecx
mov dword [edx + 0xa8], 1
cmp ecx, edi
je 0x42d5f3
mov edx, dword [esi + ecx*4]
mov ebx, dword [ebp + 8]
mov dword [edx + 0xc], 0
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x42d8d9
mov dword [edx + 0x10], eax
mov dword [eax + 0xc], edx
mov ebx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
or eax, dword [edx + 0x34]
mov dword [ebx + 0x68], edx
je 0x42d5a0
mov eax, dword [ebp - 0xa4]
inc ecx
mov dword [edx + 0xa8], eax
inc eax
mov dword [ebp - 0xa4], eax
cmp ecx, edi
jne 0x42d5af
sub esp, 0xc
push esi
call sub.msvcrt.dll_free
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0xa4]
add esp, 0x10
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
cmp dword [eax + 0x60], ecx
jbe 0x42db21
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
imul ebx, eax
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x30], ebx
add dword [ebp - 0x30], esi
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x2c], 0
adc dword [ebp - 0x2c], edi
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x64]
test ebx, ebx
je 0x42dae9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x50], 0
neg eax
mov edx, eax
mov dword [ebp - 0x4c], 0
sar edx, 0x1f
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
jmp 0x42d7cb
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x8c], eax
test dword [ebp - 0x24], 0x100
jne 0x42d8aa
mov eax, dword [ebp - 0x48]
mov edx, eax
mov dword [ebp - 0x40], eax
sar edx, 0x1f
mov dword [ebp - 0x3c], edx
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
add eax, 0xffffffff
mov dword [ebx + 0x70], esi
adc edx, 0xffffffff
add eax, dword [ebp - 0x40]
adc edx, dword [ebp - 0x3c]
mov dword [ebx + 0x74], edi
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x94]
and edi, edx
and esi, eax
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add edx, esi
mov dword [ebx + 0x30], esi
adc ecx, edi
mov dword [ebx + 0x34], edi
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x60], edx
test ecx, ecx
jne 0x42d8f0
mov cl, byte [ebp - 0x8c]
mov eax, 1
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, esi
adc ecx, edi
cmp edi, ecx
jb 0x42da8f
ja 0x42d719
cmp esi, edx
jbe 0x42da8f
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
xor eax, esi
xor edx, edi
or eax, edx
mov edx, dword [ebp - 0x60]
setne al
and eax, 0xff
sub edx, esi
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], edx
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
sbb ecx, edi
add dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ecx
mov edi, dword [ebp - 0x64]
adc dword [ebp - 0x2c], edi
mov eax, dword [ebx + 0xac]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
cmp edx, dword [ebx + 0x34]
ja 0x42d787
jb 0x42d780
cmp eax, dword [ebx + 0x30]
jae 0x42d787
mov dword [ebp - 0x50], 1
cld
mov esi, dword [ebx]
mov edi, 0x4dff69
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x42d7b8
or byte [ebx + 0x18], 1
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebp - 0x4c], ebx
nop
lea esi, [esi]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x42dade
mov esi, dword [ebx + 0xac]
test esi, esi
je 0x42d96a
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x42d995
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x42d7f6
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ecx + 4], edx
mov dword [ecx], eax
test byte [ebx + 0x15], 1
je 0x42d7c0
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x3c], edx
or eax, dword [ebx + 0x34]
je 0x42d7c0
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x28]
shr ecx, 5
and ecx, 0xfffff
mov dword [ebp - 0x24], ecx
and ecx, 2
mov dword [ebp - 0x28], ecx
je 0x42d670
mov edx, dword [ebx + 0x5c]
mov eax, 1
mov dword [ebp - 0x8c], edx
mov cl, byte [ebp - 0x8c]
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, dword [ebp - 0x30]
adc ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jb 0x42da1d
ja 0x42d86b
cmp dword [ebp - 0x30], edx
jbe 0x42da1d
or esi, 0xffffffff
or edi, 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x42d685
mov eax, esi
mov ecx, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x30]
mov edx, edi
sbb edx, dword [ebp - 0x2c]
add dword [ecx + 0x30], eax
adc dword [ecx + 0x34], edx
test dword [ebp - 0x24], 0x100
je 0x42d692
test byte [ebx + 0x14], 1
jne 0x42da4e
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x38], esi
mov edx, eax
mov dword [ebp - 0x40], eax
sar edx, 0x1f
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x3c], edx
jmp 0x42d6a0
mov dword [ebp - 0x48], 1
jmp 0x42d479
mov eax, dword [ebp + 8]
mov dword [edx + 0x10], 0
mov dword [eax + 0x64], edx
jmp 0x42d5cd
mov cl, byte [ebp - 0x8c]
mov eax, 1
shl eax, cl
mov edx, eax
mov ecx, eax
sar ecx, 0x1f
add edx, 0xffffffff
adc ecx, 0xffffffff
add edx, dword [ebp - 0x60]
adc ecx, dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], ecx
jb 0x42d9c0
ja 0x42d924
cmp dword [ebp - 0x60], edx
jbe 0x42d9c0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x30]
xor eax, edx
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x2c]
xor edx, ecx
or eax, edx
mov edx, dword [ebp - 0x2c]
setne al
and eax, 0xff
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
add eax, esi
adc edx, edi
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
jmp 0x42d766
push eax
push 0
push 0x30
mov eax, dword [ebp + 8]
push eax
call fcn.0040a000
add esp, 0x10
mov esi, eax
mov dword [ebx + 0xac], eax
test eax, eax
jne 0x42d7d9
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push 0
push 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.0040a000
mov dword [esi + 0x2c], eax
add esp, 0x10
mov eax, dword [ebx + 0xac]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x42d7e4
jmp 0x42d98b
dec eax
mov dword [ebp - 0xa0], eax
mov edx, eax
sar edx, 0x1f
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], edx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x88], eax
adc edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
xor eax, 0xffffffff
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x84], edx
and ecx, eax
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x30], ecx
xor edx, 0xffffffff
mov ecx, dword [ebp - 0x84]
and ecx, edx
mov dword [ebp - 0x2c], ecx
jmp 0x42d932
dec eax
mov esi, dword [ebp - 0x30]
mov edx, eax
mov edi, dword [ebp - 0x2c]
sar edx, 0x1f
add esi, eax
adc edi, edx
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], edi
xor eax, 0xffffffff
xor edx, 0xffffffff
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
and esi, eax
and edi, edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
jmp 0x42d87f
mov eax, dword [ebp - 0x48]
mov edx, eax
mov dword [ebp - 0x40], eax
sar edx, 0x1f
mov eax, dword [ebx + 0x20]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], edx
mov edi, dword [ebp - 0x3c]
mov edx, dword [ebx + 0x24]
sbb edx, dword [ebp - 0x34]
push edi
mov esi, dword [ebp - 0x40]
push esi
push edx
push eax
call fcn.004bbf80
mov esi, eax
add esp, 0x10
add esi, dword [ebp - 0x38]
mov edi, edx
adc edi, dword [ebp - 0x34]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
jmp 0x42d6a0
dec eax
mov dword [ebp - 0xb0], eax
mov edx, eax
sar edx, 0x1f
mov eax, dword [ebp - 0xb0]
add eax, esi
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x80], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x80]
adc edx, edi
xor eax, 0xffffffff
mov dword [ebp - 0x7c], edx
and ecx, eax
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x68], ecx
xor edx, 0xffffffff
mov ecx, dword [ebp - 0x7c]
and ecx, edx
mov dword [ebp - 0x64], ecx
jmp 0x42d727
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x42db82
mov ecx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x2c]
add ecx, 3
adc ebx, 0
cmp dword [ebp - 0x2c], ebx
jb 0x42db51
ja 0x42db01
cmp dword [ebp - 0x30], ecx
jbe 0x42db51
or edx, 0xffffffff
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x20], edx
mov eax, 1
or byte [ebx + 0x2b], 0x40
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
sub esp, 0xc
push 0x13
call fcn.00408440
add esp, 0xc
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0x4dff4e
call dword [0x4c20bc]
xor eax, eax
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ecx
and eax, 0xfffffffc
mov edx, eax
jmp 0x42db04
mov edi, eax
test eax, eax
je 0x42db76
mov esi, dword [eax + 0xc4]
mov ebx, dword [eax + 0xc0]
mov eax, esi
or eax, ebx
jne 0x42d467
mov dword [ebp - 0x48], 0x200
jmp 0x42d479
mov byte [ebp - 0x11], 0
push 0
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
add eax, 0xffffffff
adc edx, 0xffffffff
push edx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x42d98b
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x11]
push 0
push 1
push eax
call fcn.0040ec80
mov ecx, eax
add esp, 0x10
xor ecx, 1
or ecx, edx
jne 0x42d98b
jmp 0x42dae9
mov eax, 4
xor edx, edx
jmp 0x42d529
sub esp, 0xc
push 0x13
call fcn.00408440
add esp, 0xc
push ebx
mov edi, dword [ebp + 8]
push edi
push 0x4dff2c
call dword [0x4c20bc]
xor eax, eax
add esp, 0x10
jmp 0x42d98d