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

Disassembly:
mov ecx, dword [0x53ad04]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4151d2
sub esp, 0x74
xor eax, eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
xor ebx, ebx
jmp 0x414c9b
mov ebp, eax
mov eax, edx
mov edx, ebp
mov dword [esp + 0x60], ecx
jmp 0x414e20
mov dword [esp + 0x5c], edx
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call fcn.00412c40
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov edx, ecx
and ecx, 0x7f
test edx, 0x80
jne 0x414cea
test ecx, ecx
je 0x414e32
shr ecx, 3
mov dword [esp + 0x24], ecx
xor ebx, ebx
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
jmp 0x41517b
test ecx, ecx
jne 0x414cf7
xor ecx, ecx
xor edx, edx
jmp 0x41509a
mov dword [esp + 0x2c], ecx
xor edx, edx
xor ebx, ebx
jmp 0x414e61
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x2c]
imul ebp, ecx
mov dword [esp + 0x3c], ebp
cmp ecx, 0x19
ja 0x414d35
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00412c50
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
jmp 0x414f53
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.00412c30
mov eax, dword [esp + 0x14]
and eax, 7
mov ecx, dword [esp + 8]
test eax, eax
jne 0x414d74
mov edi, dword [esp + 0x3c]
mov edx, ecx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
jmp 0x414db8
mov dword [esp + 0x38], eax
movzx eax, byte [ecx]
mov dword [esp + 0x58], eax
mov dword [esp], ecx
call fcn.00412c40
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 0x414f1b
and ecx, 7
test ecx, ecx
jbe 0x414df5
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 0x414df7
mov edx, esi
mov ecx, dword [esp + 0x70]
jmp 0x414c95
mov byte [edx], bl
mov dword [esp], edx
call fcn.00412c40
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 0x414e00
jmp 0x414ca4
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 0x41510a
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.00412c40
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 0x414e5c
jmp 0x414d04
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.00412c40
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.00412c40
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 0x414ea7
jmp 0x414dce
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.00412c50
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 0x414f24
jbe 0x414f6a
sub ecx, ebx
shr edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
jmp 0x414f6c
mov ebx, ecx
cmp ebx, 1
jne 0x414f88
cmp edx, 1
jne 0x414f82
mov eax, 0x19
mov edx, 0x1ffffff
jmp 0x414f99
mov eax, dword [esp + 0x3c]
jmp 0x414f99
lea ebp, [ebx + ebx]
cmp ebp, 0x19
ja 0x414f97
mov eax, ebx
jmp 0x415059
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 0x414fc1
mov ecx, dword [esp + 0x58]
sub ebp, ecx
mov edx, dword [esp + 0x10]
mov esi, eax
mov eax, ecx
cmp eax, ebp
ja 0x414fda
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 0x415040
test ebp, ebp
jbe 0x41500b
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 0x414c95
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebx
mov byte [edi], bl
mov dword [esp], edi
call fcn.00412c40
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 0x415018
jmp 0x414fb3
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 0x41504a
test eax, eax
je 0x415090
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 0x414f97
call fcn.00439e40
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.00412c40
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 0x415095
mov ecx, ebp
jmp 0x414cf7
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], ebx
mov byte [edx], bl
mov dword [esp], edx
call fcn.00412c40
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 0x4150e2
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.00412c40
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.00412c40
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 0x415119
and edx, 7
test edx, edx
ja 0x415194
mov ecx, dword [esp + 0x28]
jmp 0x4151c5
mov dword [esp + 0x2c], edx
movzx ecx, byte [eax]
mov dword [esp + 0x58], ecx
mov dword [esp], eax
call fcn.00412c40
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 0x414c95
call fcn.00465d00
jmp fcn.00414c70