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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
lea esi, [esp + 0x40]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], edx
mov ecx, esi
push 1
push 0x56e635
push dword [ebp + 8]
call fcn.0041d020
add esp, 0xc
cmp dword [esi], 0
je 0x430834
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
mov esi, edx
mov dword [esp + 0x14], edx
sub edx, eax
mov dword [esp + 0x10], ecx
sub ecx, eax
mov dword [esp], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x74]
neg esi
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x20], esi
mov dword [esp + 0xc], edx
mov edx, ecx
mov eax, edx
sub edx, dword [esp]
cmp edx, dword [esp + 4]
jae 0x430931
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
xor esi, esi
xor edi, edi
inc edi
mov cl, byte [eax + edx]
mov eax, 0
shld esi, edi, cl
shl edi, cl
test cl, 0x20
cmovne esi, edi
cmovne edi, eax
and esi, dword [esp + 0x38]
and edi, dword [esp + 0x3c]
or edi, esi
je 0x430766
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 8]
cmp eax, edi
cmovb edi, eax
cmp ebx, 0xffffffff
lea ebx, [esi + ecx]
cmove edi, eax
dec edi
mov ecx, edi
cmp ecx, 0xffffffff
je 0x430771
cmp edi, dword [esp]
jae 0x430941
lea esi, [edx + ecx]
cmp esi, dword [esp + 4]
jae 0x43094b
mov eax, dword [esp + 0x18]
lea esi, [ecx - 1]
mov al, byte [eax + ecx]
cmp al, byte [ebx + ecx]
mov ecx, esi
je 0x43071d
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [esp + 0x14]
cmp ebx, 0xffffffff
lea edx, [eax + esi + 1]
je 0x4306be
jmp 0x4307df
cmp ebx, 0xffffffff
je 0x4306be
jmp 0x4307db
cmp dword [esp + 0x1c], 0xffffffff
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmove edi, dword [esp]
add ecx, eax
cmp ebx, edi
jae 0x4307f3
cmp ebx, dword [esp]
jae 0x430961
cmp ecx, dword [esp + 4]
jae 0x430974
mov eax, dword [esp + 0x18]
mov al, byte [eax + ebx]
inc ebx
cmp al, byte [esi + ecx]
lea ecx, [ecx + 1]
je 0x430790
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
sub ecx, dword [esp + 0x20]
cmp ebx, 0xffffffff
mov edx, ecx
je 0x4306be
mov eax, dword [esp + 0x20]
mov dword [esp + 0xc], eax
jmp 0x4306bc
mov ecx, edx
jmp 0x4307e7
add ecx, dword [esp + 0x28]
lea ecx, [esi + ecx + 1]
mov eax, dword [esp]
mov dword [esp + 0xc], eax
jmp 0x4306bc
mov esi, edx
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 8]
inc esi
push 0x5260b0
push esi
call fcn.0042cd1e
pop ecx
pop ecx
mov ecx, eax
mov esi, eax
mov edi, edx
call fcn.0041e780
mov edx, dword [esp + 0x24]
xor ecx, ecx
test al, 1
jne 0x430937
mov ecx, esi
shr eax, 0x10
mov dword [edx + 4], edi
mov word [edx + 8], ax
jmp 0x430937
mov al, byte [esp + 0x4e]
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x48]
mov byte [esp], al
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], edi
mov dword [esp + 4], eax
mov al, byte [esp + 0x4d]
cmp byte [esp], 0
jne 0x430931
mov edx, dword [esp + 4]
mov ebx, eax
xor al, 1
mov ecx, esi
mov byte [esp + 0x4d], al
push edi
call fcn.0042cd49
pop ecx
test eax, eax
je 0x430985
test edx, edx
je 0x430929
mov bh, byte [eax + edx - 1]
test bh, bh
js 0x43088f
movzx eax, bh
jmp 0x4308ea
movzx ecx, byte [eax + edx - 2]
mov edi, ecx
cmp cl, 0xc0
jge 0x4308c3
movzx ecx, byte [eax + edx - 3]
mov dword [esp + 8], edi
cmp cl, 0xc0
mov dword [esp + 0x10], ecx
jge 0x4308c8
movzx eax, byte [eax + edx - 4]
mov edx, dword [esp + 0x10]
and eax, 7
and edx, 0x3f
shl eax, 6
or edx, eax
jmp 0x4308cf
and edi, 0x1f
jmp 0x4308db
mov edx, dword [esp + 0x10]
and edx, 0xf
mov edi, dword [esp + 8]
shl edx, 6
and edi, 0x3f
or edi, edx
and bh, 0x3f
shl edi, 6
movzx eax, bh
or eax, edi
mov edi, dword [esp + 0x18]
test bl, bl
jne 0x4307f5
cmp eax, 0x110000
je 0x430931
cmp eax, 0x80
mov ecx, 0xffffffff
jb 0x43091c
cmp eax, 0x800
push 0xfffffffffffffffe
pop ecx
jb 0x43091c
xor ecx, ecx
cmp eax, 0x10000
setb cl
or ecx, 0xfffffffc
add esi, ecx
mov al, 1
mov dword [esp + 0x48], esi
jmp 0x430853
test bl, bl
jne 0x4307f5
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov dword [edx], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp]
push 0x52598c
jmp 0x43097d
mov eax, dword [esp + 8]
mov edx, dword [esp + 4]
sub eax, dword [esp]
add eax, ecx
mov ecx, eax
push 0x52599c
jmp 0x43097d
mov edx, dword [esp]
mov ecx, dword [esp + 0x14]
cmp ecx, edx
cmovbe ecx, edx
push 0x5259ac
jmp 0x43097d
mov edx, dword [esp + 4]
push 0x5259bc
call fcn.0050aeb0
pop eax
ud2
mov ecx, dword [esp + 4]
mov edx, edi
push 0x525abc
push esi
push 0
call fcn.0050b300
add esp, 0xc
ud2