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

Disassembly:
sub esp, 0x68
mov eax, dword [0x58bb30]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
push ebx
mov ebx, dword [eax]
push ebp
mov ebp, dword [esp + 0x80]
push esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx]
mov dword [eax], 0
push edi
mov edi, dword [esp + 0x80]
mov dword [edx], 0
mov dword [esp + 0x10], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ebx
mov dword [ecx], 0
jmp case.0x42cefc.6
jne 0x42d14f
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ecx, dword [edx]
sub ebx, ecx
mov eax, dword [esi]
cmp eax, 6
jne 0x42ceeb
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
sub eax, dword [ecx]
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x42cd42
test eax, eax
je 0x42d542
push dword [esp + 0x20]
lea eax, [esp + 0x20]
push dword [esp + 0x94]
push 0
push eax
push ebp
lea eax, [esp + 0x38]
push eax
push edi
lea eax, [esi + 0x58]
push eax
call fcn.0042c5f0
mov ecx, dword [esi + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x24]
sub ecx, 1
je 0x42cdb6
sub ecx, 3
je 0x42cd92
sub ecx, 6
jne 0x42cdcc
push edi
push dword [esp + 0x14]
lea eax, [esi + 0x1a0]
push eax
call fcn.004bc0c0
jmp 0x42cdcc
push edi
push dword [esp + 0x14]
push dword [esi + 0x19c]
push dword [esi + 0x198]
call fcn.0042af30
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
jmp 0x42cdcc
push edi
push dword [esp + 0x14]
push dword [esi + 0x194]
call fcn.004826b0
mov dword [esi + 0x194], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
add ebp, edx
mov dword [esp + 0x1c], ebp
add dword [eax], edx
mov eax, edx
add dword [esi + 0x18], eax
mov eax, dword [esp + 0x28]
adc ecx, dword [esi + 0x1c]
add dword [esp + 0x10], edi
mov dword [esi + 0x1c], ecx
xor ecx, ecx
add dword [eax], edi
mov eax, edi
add dword [esi + 0x20], eax
adc ecx, dword [esi + 0x24]
mov dword [esi + 0x24], ecx
test ebx, ebx
jne 0x42d54e
mov eax, dword [esp + 0x20]
cmp dword [eax], 1
jne 0x42ced2
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x42ce22
xor eax, eax
jmp 0x42ce38
dec ecx
mov eax, 0x55555556
imul ecx
mov eax, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
shl eax, cl
mov edx, dword [esi + 0x14]
xor ecx, ecx
add edx, eax
adc ecx, ecx
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
xor ebx, ebx
lea esp, [esp]
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [esp + ebx + 0x34], al
inc ebx
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x42ce50
mov edx, dword [esi + 0x20]
lea ebp, [esp + 0x34]
mov ecx, dword [esi + 0x24]
add ebp, ebx
and byte [ebp - 1], 0x7f
xor edi, edi
mov al, dl
or al, 0x80
shrd edx, ecx, 7
mov byte [edi + ebp], al
inc edi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x42ce78
and byte [edi + ebp - 1], 0x7f
lea eax, [esp + 0x34]
add edi, ebx
push edi
push eax
lea eax, [esi + 0x208]
push eax
call fcn.004bc0c0
add dword [esi + 0x30], edi
mov ebp, dword [esp + 0x1c]
adc dword [esi + 0x34], 0
add dword [esi + 0x28], 1
mov dword [esi], 7
adc dword [esi + 0x2c], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
jmp 0x42cd09
test edx, edx
mov edx, dword [esp + 0x14]
jne 0x42cd0d
test edi, edi
je 0x42d5a5
jmp 0x42cd0d
test ebx, ebx
je 0x42d59b
cmp eax, 7
ja case.0x42cefc.6
jmp dword [eax*4 + 0x42d5bc]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x42cf34
cmp ecx, 6
jae 0x42cf1f
mov al, byte [ebp]
cmp al, byte [ecx + 0x583b08]
jne 0x42d581
mov al, byte [ebp]
inc ebp
mov byte [esi + ecx + 0x290], al
inc dword [esi + 4]
inc dword [edx]
jmp case.0x42cefc.6
movzx ecx, byte [esi + 0x296]
lea edx, [esi + 0x296]
movzx eax, byte [esi + 0x297]
push 2
shl cx, 8
push edx
or cx, ax
push 0xffffffffffffffff
mov word [esi + 0x10], cx
call fcn.004826b0
not eax
cmp eax, dword [esi + 0x298]
jne 0x42d565
movzx eax, word [esi + 0x10]
mov ecx, 0xf
cmp cx, ax
sbb ecx, ecx
and ecx, 4
cmp eax, 0xf
ja 0x42d56a
lea eax, [esi + 0x208]
mov dword [esi], 5
push eax
call fcn.004bc070
mov edx, dword [esp + 0x14]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 4], 0
jmp case.0x42cefc.6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x42d06d
mov al, byte [ebp]
lea ebx, [esi + 0x290]
mov byte [ebx], al
inc ebp
lea eax, [ecx + 1]
mov dword [esi + 4], eax
inc dword [edx]
cmp byte [ebx], cl
jne 0x42d05b
mov edx, dword [esi + 0x28]
xor edi, edi
mov ecx, dword [esi + 0x2c]
mov edi, edi
mov al, dl
lea edi, [edi + 1]
or al, 0x80
shrd edx, ecx, 7
mov byte [edi + esi + 0x290], al
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x42cff0
and byte [edi + esi + 0x290], 0x7f
lea eax, [edi + 1]
add dword [esi + 0x30], eax
lea edi, [esi + 0x208]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
lea eax, [esi + 0x270]
push eax
push edi
mov dword [esi + 0x3c], 0
call fcn.004bbf60
push edi
call fcn.004bc070
push dword [esi + 0xc]
push ebx
push 0xffffffffffffffff
call fcn.004826b0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
mov dword [esi], 1
movzx eax, byte [ebx]
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
jmp 0x42cd0d
mov edi, dword [esi + 0x14]
cmp ecx, edi
je 0x42d09f
sub edi, ecx
cmp edi, ebx
jbe 0x42d07c
mov edi, ebx
push edi
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.00531230
mov edx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
add dword [edx], edi
add ebp, edi
jmp 0x42cd0d
lea eax, [esi + 0x290]
push eax
lea edi, [esi + 0xf8]
push edi
call fcn.0042c8c0
test eax, eax
jne 0x42d5a7
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
movzx eax, word [esi + 0x10]
and eax, 0xf
mov dword [esi], 6
mov dword [esi + 0x190], eax
sub eax, 1
je 0x42d10c
sub eax, 3
je 0x42d0f6
sub eax, 6
jne 0x42d116
lea eax, [esi + 0x1a0]
push eax
call fcn.004bc070
jmp 0x42d116
mov dword [esi + 0x198], 0xffffffff
mov dword [esi + 0x19c], 0xffffffff
jmp 0x42d116
mov dword [esi + 0x194], 0xffffffff
push edi
lea eax, [esi + 0x58]
push eax
call fcn.0042ca40
test eax, eax
jne 0x42d5a7
jmp 0x42cd09
mov eax, dword [esi + 8]
add eax, dword [esi + 0x18]
and eax, 3
or eax, 0
je 0x42d169
lea eax, [ecx + 1]
mov dword [edx], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
test al, al
je case.0x42cefc.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.0052f708
add esp, 0x68
ret 0x1c
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x42d176
xor edi, edi
jmp 0x42d190
dec ecx
mov eax, 0x55555556
imul ecx
mov edi, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x14]
shl edi, cl
mov ecx, dword [esi + 4]
mov eax, edi
sub eax, ecx
mov dword [esp + 0x1c], eax
je 0x42d1ce
cmp eax, ebx
jbe 0x42d1a7
mov eax, ebx
mov dword [esp + 0x1c], ebx
push eax
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.00531230
mov edx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
add dword [esi + 4], eax
add dword [edx], eax
add ebp, eax
jmp 0x42cd0d
mov dword [esi], 5
mov dword [esi + 4], 0
mov eax, dword [esi + 0x190]
sub eax, 1
je 0x42d26b
sub eax, 3
je 0x42d20b
sub eax, 6
jne 0x42cd0d
lea eax, [esp + 0x34]
push eax
lea eax, [esi + 0x1a0]
push eax
call fcn.004bbf60
jmp 0x42d277
mov ecx, dword [esi + 0x198]
mov eax, dword [esi + 0x19c]
not ecx
not eax
mov byte [esp + 0x34], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x35], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x36], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x37], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x38], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x39], cl
shrd ecx, eax, 8
shr eax, 8
mov byte [esp + 0x3a], cl
shrd ecx, eax, 8
mov byte [esp + 0x3b], cl
jmp 0x42d277
mov eax, dword [esi + 0x194]
not eax
mov dword [esp + 0x34], eax
lea edx, [esi + 0x290]
lea ecx, [esp + 0x34]
sub edi, 4
jb 0x42d297
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42d2a0
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42d286
cmp edi, 0xfffffffc
je 0x42cd09
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42d14f
cmp edi, 0xfffffffd
je 0x42cd09
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42d14f
cmp edi, 0xfffffffe
je 0x42cd09
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42d14f
cmp edi, 0xffffffff
je 0x42cd09
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jmp 0x42cd03
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x42d318
lea eax, [ecx + 1]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov cl, byte [ebp]
inc ebp
mov dl, byte [esi + eax + 0x290]
inc eax
mov dword [esi + 4], eax
cmp cl, dl
jne 0x42d14f
mov edx, dword [esp + 0x14]
jmp case.0x42cefc.6
mov edi, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp edi, edx
ja 0x42d36f
jb 0x42d32e
cmp ecx, eax
jae 0x42d36f
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x42d340
ja 0x42d33e
cmp ebx, eax
jbe 0x42d340
mov ebx, eax
push ebx
push ebp
push dword [esi + 0x50]
call fcn.004826b0
push ebx
mov dword [esi + 0x50], eax
lea eax, [esi + 0x208]
push ebp
push eax
call fcn.004bc0c0
mov edx, dword [esp + 0x14]
add ebp, ebx
add dword [edx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x42cd0d
and ecx, 3
or ecx, 0
je 0x42d3b7
mov al, byte [ebp]
inc ebp
mov byte [esp + 0x1b], al
lea eax, [esp + 0x1b]
push 1
push eax
push dword [esi + 0x50]
call fcn.004826b0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x50], eax
inc dword [edx]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
cmp byte [esp + 0x1b], 0
jne 0x42d14f
jmp 0x42cd0d
add eax, 4
mov dword [esi], 2
mov dword [esi + 0x30], eax
lea eax, [esp + 0x34]
push eax
lea eax, [esi + 0x208]
mov dword [esi + 4], 0
adc edx, 0
push eax
mov dword [esi + 0x34], edx
call fcn.004bbf60
lea edx, [esi + 0x270]
mov edi, 0x1c
lea ecx, [esp + 0x34]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42d14f
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42d3f0
jmp 0x42cd09
cmp dword [esi + 4], 4
jae 0x42d42b
lea eax, [ecx + 1]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov cl, byte [ebp]
inc ebp
mov byte [esi + eax + 0x290], cl
inc dword [esi + 4]
jmp case.0x42cefc.6
mov eax, dword [esi + 0x50]
not eax
mov dword [esi], 3
cmp eax, dword [esi + 0x290]
mov dword [esi + 4], 0
jmp 0x42d149
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
jbe 0x42d458
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.00531230
mov edx, dword [esp + 0x20]
add ebp, edi
add dword [esi + 4], edi
add esp, 0xc
add dword [edx], edi
cmp dword [esi + 4], 0xc
mov edi, dword [esp + 0x10]
jne case.0x42cefc.6
add dword [esi + 0x48], 1
lea ecx, [esi + 0x294]
movzx edi, word [esi + 0x10]
mov edx, 4
adc dword [esi + 0x4c], 0
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov eax, dword [ecx]
mul edx
add eax, 4
adc edx, 0
cmp dword [esi + 0x30], eax
jne 0x42d14f
cmp dword [esi + 0x34], edx
jne 0x42d14f
push 6
push ecx
push 0xffffffffffffffff
call fcn.004826b0
not eax
cmp dword [esi + 0x290], eax
jne 0x42d14f
movzx ecx, byte [esi + 0x298]
movzx eax, byte [esi + 0x299]
shl ecx, 8
or ecx, eax
cmp edi, ecx
jne 0x42d14f
mov ax, word [esi + 0x29a]
mov ecx, 0x583b10
cmp ax, word [ecx]
jmp 0x42cd03
cmp byte [ebp], 0
je 0x42d52f
test byte [esi + 0x40], 3
jne 0x42d581
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x42cefc.6
lea eax, [ecx + 1]
inc ebp
mov dword [edx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp case.0x42cefc.6
mov eax, dword [esp + 0x20]
mov dword [eax], 2
jmp 0x42d5a5
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.0052f708
add esp, 0x68
ret 0x1c
mov ecx, 0x11
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.0052f708
add esp, 0x68
ret 0x1c
pop edi
pop esi
pop ebp
mov eax, 0x11
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.0052f708
add esp, 0x68
ret 0x1c
mov eax, dword [esp + 0x20]
mov dword [eax], 3
xor eax, eax
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0052f708
add esp, 0x68
ret 0x1c