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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x410bc4
sub esp, 0x70
mov edx, dword [esp + 0x80]
mov ebx, dword [edx + 0x14]
mov ebp, dword [0x6f2208]
mov ecx, dword [esp + 0x74]
sub ecx, ebp
mov ebp, ecx
shr ecx, 2
mov esi, dword [0x6f2200]
shr ebp, 4
sub esi, ebp
lea ebp, [esi - 1]
mov esi, ecx
and ecx, 3
mov edi, dword [esp + 0x78]
cmp edi, 8
je 0x410acc
mov eax, edi
movzx edi, byte [edx + 0xf]
xchg edi, eax
test al, 0x40
xchg edi, eax
jne 0x410a9c
mov dword [esp + 0x40], esi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x5c], ebx
mov ecx, dword [edx]
mov dword [esp + 0x3c], ecx
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jae 0x410a8b
mov ebp, dword [edx + 4]
shr ebp, 2
cmp ebp, 0x19
ja 0x410a63
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
jmp 0x410767
lea eax, [esi + 8]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
cmp ecx, 0x20
sbb ecx, ecx
and edx, ecx
mov ecx, dword [esp + 0x20]
or ecx, edx
mov edx, ebx
inc edx
mov ebx, edx
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
cmp esi, ebp
jb 0x410730
mov ebx, ecx
shr ecx, 2
lea ebp, [ecx + ecx]
cmp ebp, 0x19
ja 0x410a58
mov ebp, dword [esp + 0x20]
mov esi, ecx
jmp 0x4107a1
mov dword [esp + 0x20], ebp
shl ebp, cl
cmp ecx, 0x20
sbb eax, eax
and ebp, eax
mov eax, dword [esp + 0x20]
or ebp, eax
add ecx, ecx
mov eax, dword [esp + 0x78]
cmp ecx, 0x20
jbe 0x410788
xchg esi, eax
test al, al
xchg esi, eax
je 0x410bbd
mov ecx, edx
xchg esi, eax
movzx edx, al
xchg esi, eax
mov ebx, 0x19
movzx ebx, bl
mov eax, ebx
mov edi, edx
xor edx, edx
div di
movzx edx, al
imul edx, esi
mov eax, ecx
mov ecx, edx
mov ebx, 1
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and esi, ebx
lea ebx, [esi - 1]
and ebp, ebx
xor edx, edx
xor ebx, ebx
mov esi, ecx
test edx, edx
je 0x410a51
movzx edi, byte [edx]
inc edx
mov ecx, 8
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x3c]
cmp ebp, esi
jne 0x410a20
mov ebp, dword [eax + 4]
shr ebp, 2
test ebp, ebp
je 0x410b48
cmp ebp, 2
jae 0x410a19
mov eax, 2
mov ebp, dword [esp + 0x40]
test ebp, 3
jne 0x410b30
mov ebp, edi
and edi, 0xf
or edi, 0xd0
cmp eax, 4
ja 0x4108c3
mov ecx, 4
mov edx, dword [esp + 0x6c]
cmp ecx, eax
jbe 0x4108bf
mov ebx, ecx
sub ecx, eax
add ecx, 0xfffffffc
neg ecx
mov eax, 1
shl eax, cl
cmp ecx, 0x20
sbb ebp, ebp
and eax, ebp
dec eax
mov ebp, eax
shl eax, 4
or eax, ebp
and edi, eax
mov eax, dword [esp + 0x78]
shr eax, 2
cmp ebx, eax
ja 0x4108b9
xchg edi, eax
mov byte [edx], al
xchg edi, eax
lea ecx, [ebx + 4]
dec edx
jmp 0x41089e
mov byte [edx], 0
add ecx, 4
mov ebx, edx
dec ebx
mov edx, ebx
cmp ecx, eax
jbe 0x410893
xor ebx, ebx
add eax, 2
cmp eax, ecx
jne 0x4108b5
movzx eax, byte [edx]
and eax, 0xffffffcc
or ebx, eax
mov byte [edx], bl
add esp, 0x70
ret
mov ecx, ebx
mov ebx, edi
jmp 0x4108a4
mov ebx, ecx
jmp 0x41087e
mov dword [esp + 0x64], ebx
mov esi, dword [esp + 0x6c]
xchg edi, eax
mov byte [esi], al
xchg edi, eax
shr ebp, 4
lea edi, [ecx - 8]
dec esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], eax
mov eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
jmp 0x410911
mov edi, dword [esp + 0x6c]
xchg ebp, eax
mov byte [edi], al
xchg ebp, eax
shr ebx, 4
mov ebp, edi
dec ebp
mov edi, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov edi, ecx
mov esi, ebp
mov ecx, dword [esp + 0x38]
mov ebp, ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], ebp
and ebp, 0xf
or ebp, 0xf0
mov edi, dword [esp + 0x1c]
add edi, 4
cmp edi, eax
jae 0x410a10
xchg ebp, eax
mov byte [esi], al
xchg ebp, eax
mov ebp, dword [esp + 0x30]
shr ebp, 4
dec esi
mov dword [esp + 0x6c], esi
cmp edx, ebx
je 0x41098f
mov edi, dword [esp + 0x24]
cmp edi, 8
jae 0x410988
movzx ebx, byte [edx]
mov ecx, edi
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
or ebp, ebx
inc edx
mov ebx, ebp
and ebp, 0xf
or ebp, 0xf0
mov esi, dword [esp + 0x1c]
add esi, 8
cmp esi, eax
jb 0x4108ed
mov ecx, dword [esp + 0x6c]
mov edx, ecx
mov edi, ebp
mov ecx, esi
jmp 0x410859
add edi, 0xfffffff8
mov ecx, edi
jmp 0x41095f
test edx, edx
je 0x4109d8
movzx edx, byte [edx]
mov ecx, dword [esp + 0x24]
shl edx, cl
cmp ecx, 0x20
sbb edi, edi
and edx, edi
or ebp, edx
mov edx, dword [esp + 0x2c]
lea edi, [ecx + edx]
cmp edi, 8
jae 0x4109cc
mov edx, dword [esp + 0x5c]
movzx ebx, byte [edx]
mov ecx, edi
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
or ebp, ebx
mov ebx, edx
inc ebx
mov edx, ebx
jmp 0x41095f
lea ecx, [ecx + edx - 8]
mov edx, dword [esp + 0x5c]
mov ebx, edx
jmp 0x4109c8
mov edi, dword [esp + 0x24]
cmp edi, 8
jae 0x410a06
mov ecx, edi
mov ebx, dword [esp + 0x38]
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
or ebx, ebp
mov ebp, dword [esp + 0x2c]
lea esi, [ecx + ebp]
lea ecx, [esi - 8]
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x5c]
jmp 0x4109c8
mov esi, edi
mov ebx, ebp
mov ebp, dword [esp + 0x2c]
jmp 0x4109f9
mov ecx, esi
mov esi, edi
jmp 0x41097d
mov eax, ebp
jmp 0x410830
test esi, esi
je 0x410bb6
mov dword [esp + 0x60], edx
mov eax, ebp
xor edx, edx
div esi
lea edx, [eax - 1]
imul edx, esi
mov eax, dword [esp + 0x80]
mov esi, dword [eax + 4]
lea ebp, [edx + esi]
shr ebp, 2
mov edx, dword [esp + 0x60]
jmp 0x41081a
mov edi, ebp
jmp 0x4107fc
mov eax, edx
mov ebp, dword [esp + 0x20]
jmp 0x4107e5
lea edi, [ebp + 7]
shr edi, 3
mov ebp, edi
dec edi
shr ecx, 2
shl edi, 3
sub ecx, edi
mov edi, ebx
lea edi, [ebp + edi - 1]
mov eax, edx
mov edx, ebx
mov ebx, edi
xor ebp, ebp
mov esi, ecx
xor ecx, ecx
jmp 0x4107eb
mov eax, edx
mov edx, ebx
xor ecx, ecx
xor ebx, ebx
mov ebp, ecx
mov esi, ebp
jmp 0x4107eb
mov esi, dword [edx + 4]
mov edx, dword [edx]
add ebx, 4
mov dword [esp + 0xc], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.00410bd0
add esp, 0x70
ret
mov eax, dword [edx]
cmp eax, 4
jne 0x410b0d
mov eax, dword [esp + 0x7c]
cmp eax, 4
jne 0x410afb
movzx eax, byte [ebp]
mov edx, 0x33
shl edx, cl
not edx
and edx, eax
mov eax, 0x11
shl eax, cl
or edx, eax
mov byte [ebp], dl
add esp, 0x70
ret
movzx eax, byte [ebp]
mov edx, 0x13
shl edx, cl
or edx, eax
mov byte [ebp], dl
jmp 0x410af7
movzx eax, byte [ebx]
and eax, 3
or eax, 0x10
movzx edx, byte [ebp]
mov ebx, 0x33
shl ebx, cl
not ebx
and ebx, edx
shl eax, cl
or eax, ebx
mov byte [ebp], al
add esp, 0x70
ret
lea eax, [0x5e3b3d]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00427230
ud2
mov dword [esp], eax
call fcn.00444ca0
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
call fcn.00427a40
lea eax, [0x5e00b4]
mov dword [esp], eax
mov dword [esp + 4], 0x16
call fcn.00428470
call fcn.00427c20
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00428470
call fcn.00427c60
call fcn.00427ab0
lea eax, [0x5e6855]
mov dword [esp], eax
mov dword [esp + 4], 0x2d
call fcn.00427230
ud2
call fcn.00425d50
ud2
call fcn.00425d50
ud2
call fcn.0044a520
jmp fcn.00410680