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

Disassembly:
mov ecx, dword [0x587cec]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4136a2
sub esp, 0x74
xor eax, eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x41316b
mov ebp, eax
mov eax, edx
mov edx, ebp
mov dword [esp + 0x60], ecx
jmp 0x4132f0
mov dword [esp + 0x5c], edx
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call fcn.00412420
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
test edx, 0x80
jne 0x4131ba
test ecx, ecx
je 0x413302
shr ecx, 3
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
jmp 0x41364b
test ecx, ecx
jne 0x4131c7
xor ecx, ecx
xor edx, edx
jmp 0x41356a
mov dword [esp + 0x2c], ecx
xor edx, edx
xor ebx, ebx
jmp 0x413331
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x2c]
imul ebp, ecx
mov dword [esp + 0x3c], ebp
cmp ecx, 0x19
ja 0x413205
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00412430
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
jmp 0x413423
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov edx, dword [esp + 0x28]
sub ecx, edx
mov dword [esp + 0x14], ecx
lea ebx, [ecx + 7]
shr ebx, 3
mov dword [esp + 4], ebx
call fcn.00412410
mov eax, dword [esp + 0x14]
and eax, 7
mov ecx, dword [esp + 8]
test eax, eax
jne 0x413244
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
jmp 0x413288
mov dword [esp + 0x38], eax
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call fcn.00412420
mov eax, dword [esp + 0x38]
lea ecx, [eax - 8]
neg ecx
mov ebx, dword [esp + 0x58]
shr ebx, cl
mov edx, dword [esp + 4]
mov ebp, dword [esp + 0x28]
lea esi, [eax + ebp]
mov edi, dword [esp + 0x3c]
sub edi, eax
cmp ecx, 0x20
sbb eax, eax
and ebx, eax
mov ecx, ebp
shl ebx, cl
mov eax, dword [esp + 0x40]
or ebx, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], esi
mov ecx, edi
shr edi, 3
mov eax, dword [esp + 0x5c]
jmp 0x4133eb
and ecx, 7
test ecx, ecx
jbe 0x4132c5
movzx edx, byte [edx]
mov ebp, 1
shl ebp, cl
dec ebp
and ebp, edx
mov edx, ecx
mov ecx, esi
shl ebp, cl
add edx, ecx
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
or ebx, ebp
jmp 0x4132c7
mov edx, esi
mov ecx, dword [esp + 0x70]
jmp 0x413165
mov byte [edx], bl
mov dword [esp], edx
call fcn.00412420
mov eax, dword [esp + 0x28]
add eax, 0xfffffff8
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 8
jae 0x4132d0
jmp 0x413174
mov edx, dword [esp + 0x5c]
mov eax, edx
mov ecx, dword [esp + 0x7c]
sub eax, ecx
mov ecx, dword [esp + 0x28]
mov ebp, ecx
neg ecx
and ecx, 7
lea eax, [ebp + eax*8]
mov dword [esp + 0xc], eax
add ecx, ebp
mov ebx, dword [esp + 0x40]
jmp 0x4135da
lea ebx, [ecx + 7]
mov edx, ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call fcn.00412420
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
mov ebx, ecx
mov ecx, dword [esp + 0x18]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
mov ebp, dword [esp + 0x3c]
or ebp, ebx
test edx, 0x80
jne 0x41332c
jmp 0x4131d4
mov dword [esp + 0x30], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x6c], eax
movzx eax, byte [edx]
mov dword [esp + 0x58], eax
mov dword [esp], edx
call fcn.00412420
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x58]
shl eax, cl
mov edx, dword [esp + 0x30]
dec edx
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x5c], ebx
cmp ecx, 0x20
sbb ebp, ebp
and eax, ebp
mov ebp, dword [esp + 0x54]
or ebp, eax
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x6c]
xchg ebp, ebx
mov byte [eax], bl
xchg ebp, ebx
mov dword [esp], eax
call fcn.00412420
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
test edi, edi
ja 0x413377
jmp 0x41329e
mov dword [esp + 0x20], ecx
shl edx, 8
mov dword [esp + 0x10], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call fcn.00412430
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
add ecx, 8
mov ebx, dword [esp + 0x2c]
cmp ecx, ebx
jb 0x4133f4
jbe 0x41343a
sub ecx, ebx
shr edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
jmp 0x41343c
mov ebx, ecx
cmp ebx, 1
jne 0x413458
cmp edx, 1
jne 0x413452
mov eax, 0x19
mov edx, 0x1ffffff
jmp 0x413469
mov eax, dword [esp + 0x3c]
jmp 0x413469
lea ebp, [ebx + ebx]
cmp ebp, 0x19
ja 0x413467
mov eax, ebx
jmp 0x413529
mov eax, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x3c]
jmp 0x413491
mov ecx, dword [esp + 0x58]
sub ebp, ecx
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, ecx
cmp eax, ebp
ja 0x4134aa
mov dword [esp + 0x3c], ebp
mov ecx, esi
shl edx, cl
add eax, ecx
cmp ecx, 0x20
sbb esi, esi
and edx, esi
or ebx, edx
jmp 0x413510
test ebp, ebp
jbe 0x4134db
mov dword [esp + 0x68], edi
mov ecx, ebp
mov eax, 1
shl eax, cl
lea edi, [esi + ecx]
cmp ecx, 0x20
sbb ebp, ebp
and eax, ebp
dec eax
and edx, eax
mov ecx, esi
shl edx, cl
cmp ecx, 0x20
sbb eax, eax
and edx, eax
or ebx, edx
mov esi, edi
mov edi, dword [esp + 0x68]
mov edx, esi
mov ecx, dword [esp + 0x70]
mov eax, edi
jmp 0x413165
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebx
mov byte [edi], bl
mov dword [esp], edi
call fcn.00412420
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0x4c]
shr ebx, 8
mov eax, dword [esp + 0x50]
add eax, 0xfffffff8
mov ebp, dword [esp + 0x3c]
cmp eax, 8
jae 0x4134e8
jmp 0x413483
sbb ebp, ebp
mov ecx, ebx
mov esi, edx
shl esi, cl
and esi, ebp
or edx, esi
lea ebx, [ecx + ecx]
cmp ebx, 0x20
jbe 0x41351a
test eax, eax
je 0x413560
mov dword [esp + 0x44], edx
mov ecx, eax
mov eax, 0x19
xor edx, edx
div ecx
imul ecx, eax
mov edx, 1
shl edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
dec edx
mov ebp, dword [esp + 0x44]
and edx, ebp
mov ebx, ecx
jmp 0x413467
call fcn.0043a6b0
lea edx, [ecx + 7]
mov ecx, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], ecx
movzx ebx, byte [eax]
mov dword [esp + 0x58], ebx
mov dword [esp], eax
call fcn.00412420
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
mov ebp, dword [esp + 0x2c]
or ebp, ebx
test edx, 0x80
jne 0x413565
mov ecx, ebp
jmp 0x4131c7
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], ebx
mov byte [edx], bl
mov dword [esp], edx
call fcn.00412420
mov eax, dword [esp + 0x28]
lea ecx, [eax - 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x40]
shr ebx, 8
mov eax, dword [esp + 0xc]
test ecx, ecx
ja 0x4135b2
mov dword [esp + 0x80], eax
add esp, 0x74
ret
mov dword [esp + 0x34], ebx
movzx ecx, byte [eax]
mov dword [esp + 0x48], ecx
mov dword [esp], eax
call fcn.00412420
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
shl eax, cl
mov edx, dword [esp + 0x40]
or edx, eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 4]
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 0x64]
mov byte [ebp], dl
mov dword [esp], ebp
call fcn.00412420
mov ebp, dword [esp + 4]
mov esi, dword [esp + 0x40]
shr esi, 8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x40], esi
mov dword [esp + 0x64], ebp
cmp ebx, ecx
jb 0x4135e9
and edx, 7
test edx, edx
ja 0x413664
mov ecx, dword [esp + 0x28]
jmp 0x413695
mov dword [esp + 0x2c], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call fcn.00412420
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
shl esi, cl
mov eax, dword [esp + 0x40]
or esi, eax
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x2c]
add ecx, edx
mov ebp, dword [esp + 0x64]
mov edx, ecx
mov ecx, eax
mov eax, ebp
mov ebx, esi
jmp 0x413165
call fcn.004736a0
jmp fcn.00413140