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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x412e48
add esp, 0xffffff80
xor eax, eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
xor ebp, ebp
jmp 0x41276c
mov esi, ecx
mov ecx, edx
mov edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x90]
jmp 0x41299b
mov dword [esp + 0x70], edx
movzx edi, byte [ecx]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
lea esi, [ecx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x30]
test ebx, 0x80
jne 0x4127c2
test edi, edi
jne 0x4127a8
test edx, edx
je 0x4129df
xor ebx, ebx
jmp 0x412764
shr edi, 3
mov dword [esp + 8], edi
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
jmp 0x412d79
mov dword [esp + 0x24], ebp
mov dword [esp + 0x7c], ecx
test edi, edi
jne 0x4127d7
xor ebx, ebx
xor edi, edi
jmp 0x412d2d
mov dword [esp + 0x10], edi
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 4], ebx
xor ebx, ebx
jmp 0x412a3c
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x10]
imul ebx, edx
cmp edx, 0x19
ja 0x412846
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x412828
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
jmp 0x412d10
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
jmp 0x412b46
sub edx, eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x4128d8
lea edi, [edx + 7]
shr edi, 3
and edx, 7
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x4128b2
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edx
lea edi, [edx - 8]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x1c]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x4128ba
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 3
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
jmp 0x412aec
lea edi, [edx + 3]
shr edi, 2
and edx, 3
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x412935
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], edx
lea edi, [edx - 4]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
and edx, 0xf
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x18]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x41293d
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
jmp 0x412aaf
and ecx, 3
test ecx, ecx
jbe 0x412987
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
mov edx, ebp
mov ebx, dword [esp + 0x70]
mov ebp, edi
jmp 0x412764
add eax, 0xfffffff8
cmp eax, 8
jb 0x412778
cmp esi, 1
jne 0x4129b4
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x412998
mov edi, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebp, edi
shr edi, 4
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [ebx + 1], al
xchg edi, eax
nop
shr ebp, 8
add ebx, 2
jmp 0x412998
mov edx, dword [esp + 0x90]
cmp edx, 1
jne 0x412a07
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*8]
mov edx, eax
neg eax
and eax, 7
add eax, edx
jmp 0x412e42
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*4]
mov edx, eax
neg eax
and eax, 3
add eax, edx
jmp 0x412e27
add ecx, 7
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
mov esi, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 4]
cmp edx, 0x20
sbb ebp, ebp
movzx edi, byte [esi]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
mov ecx, edx
shl edi, cl
and edi, ebp
or ebx, edi
lea ebp, [esi + 1]
mov esi, dword [esp + 0x30]
test esi, 0x80
jne 0x412a23
jmp 0x4127ea
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
and ebp, 0xf
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, edi
and edi, 0xf
or edi, 0xf0
mov esi, dword [esp + 0x64]
xchg edi, eax
mov byte [esi], al
xchg edi, eax
dec ebx
nop
shr ebp, 4
inc edx
inc esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], esi
mov edi, ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x90]
test ebx, ebx
ja 0x412a6c
jmp 0x41295b
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, dword [esp + 0x68]
xchg edi, eax
mov byte [ebp], al
xchg edi, eax
dec ebx
nop
shr edi, 8
inc edx
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x78]
test ebx, ebx
ja 0x412ab8
and ecx, 7
test ecx, ecx
jbe 0x412b1c
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
jmp 0x41298b
mov ebp, dword [esp]
shl ebp, 4
movzx ecx, byte [esi]
and ecx, 0xf
or ebp, ecx
nop
add eax, 4
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x412b25
mov esi, dword [esp]
cmp eax, edx
jbe 0x412b6b
sub eax, edx
cmp eax, 0x20
sbb ebp, ebp
mov ecx, eax
shr esi, cl
and esi, ebp
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
mov eax, edx
cmp eax, 1
jne 0x412b85
cmp esi, 1
jne 0x412b81
mov eax, 0x19
mov esi, 0x1ffffff
jmp 0x412b94
mov eax, ebx
jmp 0x412b94
lea edx, [eax + eax]
cmp edx, 0x19
ja 0x412b94
mov edx, eax
jmp 0x412cab
mov dword [esp], esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
jmp 0x412bc7
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov esi, dword [esp]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x90]
cmp eax, ebx
ja 0x412bf5
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x30]
cmp ebp, 0x20
sbb ebx, ebx
mov ecx, ebp
shl esi, cl
and esi, ebx
or edx, esi
lea ebx, [eax + ecx]
mov ebp, dword [esp + 0x90]
cmp ebp, 1
je 0x412c82
jmp 0x412c6e
test ebx, ebx
jbe 0x412c40
mov dword [esp + 0x74], edi
cmp ebx, 0x20
mov eax, ebp
sbb ebp, ebp
mov edi, dword [esp + 0x30]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x2c], edi
mov ecx, ebx
mov edi, 1
shl edi, cl
and edi, ebp
lea ebp, [edi - 1]
and esi, ebp
mov ecx, dword [esp + 0x30]
shl esi, cl
mov ebp, dword [esp + 0x2c]
and esi, ebp
or edx, esi
add ebx, ecx
mov ecx, dword [esp + 0x90]
mov ebp, eax
mov edi, dword [esp + 0x74]
jmp 0x412c44
mov ebx, dword [esp + 0x30]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov ecx, edi
mov ebp, edx
mov edx, dword [esp + 0x78]
jmp 0x412764
mov esi, edx
and edx, 0xf
or edx, 0xf0
mov byte [edi], dl
nop
shr esi, 4
add ebx, 0xfffffffc
inc edi
mov edx, esi
cmp ebx, 4
jae 0x412c57
jmp 0x412bad
mov byte [edi], dl
nop
shr edx, 8
add ebx, 0xfffffff8
inc edi
cmp ebx, 8
jae 0x412c78
jmp 0x412bad
mov dword [esp + 0x28], esi
sbb ebp, ebp
mov ecx, eax
shl esi, cl
and esi, ebp
mov ebp, dword [esp + 0x28]
or esi, ebp
add eax, eax
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
cmp eax, 0x20
jbe 0x412c8c
test edx, edx
je 0x412ced
mov eax, 0x19
mov ebp, edx
xor edx, edx
div ebp
imul eax, ebp
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x30], edx
mov ecx, eax
mov edx, 1
shl edx, cl
mov ebp, dword [esp + 0x30]
and edx, ebp
dec edx
and esi, edx
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
jmp 0x412b94
call fcn.00435d30
mov ebp, dword [esp]
shl ebp, 8
movzx ecx, byte [esi]
or ebp, ecx
nop
add eax, 8
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x412cf2
mov esi, dword [esp]
jmp 0x412b4d
lea edi, [ecx + 7]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
cmp edi, 0x20
sbb edx, edx
movzx ebp, byte [esi]
mov dword [esp + 0x30], ebp
nop
and ebp, 0x7f
mov ecx, edi
shl ebp, cl
and edx, ebp
or ebx, edx
lea edx, [esi + 1]
mov ebp, dword [esp + 0x30]
test ebp, 0x80
jne 0x412d1c
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edi, ebx
mov edx, dword [esp + 0x70]
jmp 0x4127d7
inc edx
inc esi
mov dword [esp + 0x14], edx
mov ecx, ebx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
cmp edx, edi
jae 0x412de7
mov dword [esp + 0x6c], ecx
movzx ebx, byte [esi]
mov ecx, eax
shl ebx, cl
or ebp, ebx
nop
mov ebx, dword [esp + 0x90]
cmp ebx, 1
jne 0x412daa
mov ebx, dword [esp + 0x6c]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x412d69
mov dword [esp + 0x2c], ebp
and ebp, 0xf
or ebp, 0xf0
mov edi, dword [esp + 0x6c]
xchg ebp, eax
mov byte [edi], al
xchg ebp, eax
mov ebp, dword [esp + 0x2c]
shr ebp, 4
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [edi + 1], al
xchg ebp, eax
nop
mov ebp, dword [esp + 0x2c]
shr ebp, 8
add edi, 2
mov ebx, edi
mov edi, dword [esp + 8]
jmp 0x412d69
and ebx, 7
test ebx, ebx
jbe 0x412dff
movzx edx, byte [esi]
mov edi, ecx
mov ecx, eax
shl edx, cl
or ebp, edx
nop
add eax, ebx
inc esi
jmp 0x412e01
mov edi, ecx
mov edx, esi
mov ebx, dword [esp + 0x70]
mov ecx, edi
jmp 0x412764
mov edx, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffffc
nop
shr edx, 4
inc ebx
mov ebp, edx
test eax, eax
ja 0x412e0e
mov dword [esp + 0x94], ecx
sub esp, 0xffffff80
ret
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffff8
nop
shr ebp, 8
inc ebx
test eax, eax
ja 0x412e36
jmp 0x412e2b
call fcn.00463190
jmp fcn.00412730