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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x412a54
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 0x41237c
mov esi, ecx
mov ecx, edx
mov edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x90]
jmp 0x4125a9
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 0x4123d2
test edi, edi
jne 0x4123b8
test edx, edx
je 0x4125ed
xor ebx, ebx
jmp 0x412374
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 0x412985
mov dword [esp + 0x24], ebp
mov dword [esp + 0x7c], ecx
test edi, edi
jne 0x4123e5
xor ebx, ebx
jmp 0x41293b
mov dword [esp + 0x10], edi
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 4], ebx
xor ebx, ebx
jmp 0x41264a
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x10]
imul ebx, edx
cmp edx, 0x19
ja 0x412454
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x412436
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 0x41291e
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 0x412754
sub edx, eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x4124e6
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 0x4124c0
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 0x4124c8
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 0x4126fa
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 0x412543
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 0x41254b
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 0x4126bd
and ecx, 3
test ecx, ecx
jbe 0x412595
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 0x412374
add eax, 0xfffffff8
cmp eax, 8
jb 0x412388
cmp esi, 1
jne 0x4125c2
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x4125a6
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 0x4125a6
mov edx, dword [esp + 0x90]
cmp edx, 1
jne 0x412615
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 0x412a4e
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 0x412a33
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 0x412631
jmp 0x4123f8
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 0x41267a
jmp 0x412569
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 0x4126c6
and ecx, 7
test ecx, ecx
jbe 0x41272a
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 0x412599
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 0x412733
mov esi, dword [esp]
cmp eax, edx
jbe 0x412779
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 0x412793
cmp esi, 1
jne 0x41278f
mov eax, 0x19
mov esi, 0x1ffffff
jmp 0x4127a2
mov eax, ebx
jmp 0x4127a2
lea edx, [eax + eax]
cmp edx, 0x19
ja 0x4127a2
mov edx, eax
jmp 0x4128b9
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 0x4127d5
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 0x412803
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 0x412890
jmp 0x41287c
test ebx, ebx
jbe 0x41284e
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 0x412852
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 0x412374
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 0x412865
jmp 0x4127bb
mov byte [edi], dl
nop
shr edx, 8
add ebx, 0xfffffff8
inc edi
cmp ebx, 8
jae 0x412886
jmp 0x4127bb
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 0x41289a
test edx, edx
je 0x4128fb
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 0x4127a2
call fcn.00432530
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 0x412900
mov esi, dword [esp]
jmp 0x41275b
lea ebx, [ecx + 7]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
cmp ebx, 0x20
sbb edx, edx
movzx ebp, byte [esi]
mov dword [esp + 0x30], ebp
nop
and ebp, 0x7f
mov ecx, ebx
shl ebp, cl
and edx, ebp
or edi, edx
lea edx, [esi + 1]
mov ebp, dword [esp + 0x30]
test ebp, 0x80
jne 0x41292a
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
jmp 0x4123e5
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 0x4129f3
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 0x4129b6
mov ebx, dword [esp + 0x6c]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x412975
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 0x412975
and ebx, 7
test ebx, ebx
jbe 0x412a0b
movzx edx, byte [esi]
mov edi, ecx
mov ecx, eax
shl edx, cl
or ebp, edx
nop
add eax, ebx
inc esi
jmp 0x412a0d
mov edi, ecx
mov edx, esi
mov ebx, dword [esp + 0x70]
mov ecx, edi
jmp 0x412374
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 0x412a1a
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 0x412a42
jmp 0x412a37
call fcn.0045d0a0
jmp fcn.00412340