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

Disassembly:
sub esp, 0x68
mov eax, dword [0x58cb30]
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.0x42d40c.6
jne 0x42d65f
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 0x42d3fb
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 0x42d252
test eax, eax
je 0x42da52
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.0042caf0
mov ecx, dword [esi + 0x190]
mov ebx, eax
mov edi, dword [esp + 0x24]
sub ecx, 1
je 0x42d2c6
sub ecx, 3
je 0x42d2a2
sub ecx, 6
jne 0x42d2dc
push edi
push dword [esp + 0x14]
lea eax, [esi + 0x1a0]
push eax
call fcn.004bcb10
jmp 0x42d2dc
push edi
push dword [esp + 0x14]
push dword [esi + 0x19c]
push dword [esi + 0x198]
call fcn.0042b430
mov dword [esi + 0x198], eax
mov dword [esi + 0x19c], edx
jmp 0x42d2dc
push edi
push dword [esp + 0x14]
push dword [esi + 0x194]
call fcn.00482e80
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 0x42da5e
mov eax, dword [esp + 0x20]
cmp dword [eax], 1
jne 0x42d3e2
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x42d332
xor eax, eax
jmp 0x42d348
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 0x42d360
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 0x42d388
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.004bcb10
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 0x42d219
test edx, edx
mov edx, dword [esp + 0x14]
jne 0x42d21d
test edi, edi
je 0x42dab5
jmp 0x42d21d
test ebx, ebx
je 0x42daab
cmp eax, 7
ja case.0x42d40c.6
jmp dword [eax*4 + 0x42dacc]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x42d444
cmp ecx, 6
jae 0x42d42f
mov al, byte [ebp]
cmp al, byte [ecx + 0x584b08]
jne 0x42da91
mov al, byte [ebp]
inc ebp
mov byte [esi + ecx + 0x290], al
inc dword [esi + 4]
inc dword [edx]
jmp case.0x42d40c.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.00482e80
not eax
cmp eax, dword [esi + 0x298]
jne 0x42da75
movzx eax, word [esi + 0x10]
mov ecx, 0xf
cmp cx, ax
sbb ecx, ecx
and ecx, 4
cmp eax, 0xf
ja 0x42da7a
lea eax, [esi + 0x208]
mov dword [esi], 5
push eax
call fcn.004bcac0
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.0x42d40c.6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x42d57d
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 0x42d56b
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 0x42d500
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.004bc9b0
push edi
call fcn.004bcac0
push dword [esi + 0xc]
push ebx
push 0xffffffffffffffff
call fcn.00482e80
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 0x42d21d
mov edi, dword [esi + 0x14]
cmp ecx, edi
je 0x42d5af
sub edi, ecx
cmp edi, ebx
jbe 0x42d58c
mov edi, ebx
push edi
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.00531d40
mov edx, dword [esp + 0x20]
add esp, 0xc
add dword [esi + 4], edi
add dword [edx], edi
add ebp, edi
jmp 0x42d21d
lea eax, [esi + 0x290]
push eax
lea edi, [esi + 0xf8]
push edi
call fcn.0042cdc0
test eax, eax
jne 0x42dab7
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 0x42d61c
sub eax, 3
je 0x42d606
sub eax, 6
jne 0x42d626
lea eax, [esi + 0x1a0]
push eax
call fcn.004bcac0
jmp 0x42d626
mov dword [esi + 0x198], 0xffffffff
mov dword [esi + 0x19c], 0xffffffff
jmp 0x42d626
mov dword [esi + 0x194], 0xffffffff
push edi
lea eax, [esi + 0x58]
push eax
call fcn.0042cf40
test eax, eax
jne 0x42dab7
jmp 0x42d219
mov eax, dword [esi + 8]
add eax, dword [esi + 0x18]
and eax, 3
or eax, 0
je 0x42d679
lea eax, [ecx + 1]
mov dword [edx], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
test al, al
je case.0x42d40c.6
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.00530218
add esp, 0x68
ret 0x1c
movzx ecx, word [esi + 0x10]
and ecx, 0xf
jne 0x42d686
xor edi, edi
jmp 0x42d6a0
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 0x42d6de
cmp eax, ebx
jbe 0x42d6b7
mov eax, ebx
mov dword [esp + 0x1c], ebx
push eax
lea eax, [ecx + 0x290]
add eax, esi
push ebp
push eax
call fcn.00531d40
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 0x42d21d
mov dword [esi], 5
mov dword [esi + 4], 0
mov eax, dword [esi + 0x190]
sub eax, 1
je 0x42d77b
sub eax, 3
je 0x42d71b
sub eax, 6
jne 0x42d21d
lea eax, [esp + 0x34]
push eax
lea eax, [esi + 0x1a0]
push eax
call fcn.004bc9b0
jmp 0x42d787
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 0x42d787
mov eax, dword [esi + 0x194]
not eax
mov dword [esp + 0x34], eax
lea edx, [esi + 0x290]
lea ecx, [esp + 0x34]
sub edi, 4
jb 0x42d7a7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42d7b0
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42d796
cmp edi, 0xfffffffc
je 0x42d219
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42d65f
cmp edi, 0xfffffffd
je 0x42d219
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42d65f
cmp edi, 0xfffffffe
je 0x42d219
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x42d65f
cmp edi, 0xffffffff
je 0x42d219
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jmp 0x42d213
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x42d828
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 0x42d65f
mov edx, dword [esp + 0x14]
jmp case.0x42d40c.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 0x42d87f
jb 0x42d83e
cmp ecx, eax
jae 0x42d87f
sub eax, ecx
sbb edx, edi
xor ecx, ecx
cmp ecx, edx
jb 0x42d850
ja 0x42d84e
cmp ebx, eax
jbe 0x42d850
mov ebx, eax
push ebx
push ebp
push dword [esi + 0x50]
call fcn.00482e80
push ebx
mov dword [esi + 0x50], eax
lea eax, [esi + 0x208]
push ebp
push eax
call fcn.004bcb10
mov edx, dword [esp + 0x14]
add ebp, ebx
add dword [edx], ebx
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], 0
jmp 0x42d21d
and ecx, 3
or ecx, 0
je 0x42d8c7
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.00482e80
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 0x42d65f
jmp 0x42d21d
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.004bc9b0
lea edx, [esi + 0x270]
mov edi, 0x1c
lea ecx, [esp + 0x34]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x42d65f
add ecx, 4
add edx, 4
sub edi, 4
jae 0x42d900
jmp 0x42d219
cmp dword [esi + 4], 4
jae 0x42d93b
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.0x42d40c.6
mov eax, dword [esi + 0x50]
not eax
mov dword [esi], 3
cmp eax, dword [esi + 0x290]
mov dword [esi + 4], 0
jmp 0x42d659
mov eax, dword [esi + 4]
mov edi, 0xc
sub edi, eax
cmp edi, ebx
jbe 0x42d968
mov edi, ebx
push edi
add eax, 0x290
add eax, esi
push ebp
push eax
call fcn.00531d40
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.0x42d40c.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 0x42d65f
cmp dword [esi + 0x34], edx
jne 0x42d65f
push 6
push ecx
push 0xffffffffffffffff
call fcn.00482e80
not eax
cmp dword [esi + 0x290], eax
jne 0x42d65f
movzx ecx, byte [esi + 0x298]
movzx eax, byte [esi + 0x299]
shl ecx, 8
or ecx, eax
cmp edi, ecx
jne 0x42d65f
mov ax, word [esi + 0x29a]
mov ecx, 0x584b10
cmp ax, word [ecx]
jmp 0x42d213
cmp byte [ebp], 0
je 0x42da3f
test byte [esi + 0x40], 3
jne 0x42da91
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.0x42d40c.6
lea eax, [ecx + 1]
inc ebp
mov dword [edx], eax
add dword [esi + 0x40], 1
adc dword [esi + 0x44], 0
jmp case.0x42d40c.6
mov eax, dword [esp + 0x20]
mov dword [eax], 2
jmp 0x42dab5
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x64]
xor ecx, esp
call fcn.00530218
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.00530218
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.00530218
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.00530218
add esp, 0x68
ret 0x1c