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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x4116ee
sub esp, 0x84
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov eax, edx
xor ecx, ecx
mov edi, ecx
jmp 0x410fd7
add ecx, 0xfffffff8
mov dword [esp], edi
cmp ecx, 8
jb 0x411018
cmp ebx, 1
jne 0x410fee
xchg edi, eax
mov byte [edx], al
xchg edi, eax
shr edi, 8
inc edx
jmp 0x410fd4
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [edx], al
xchg edi, eax
dec edx
mov edi, dword [esp]
shr edi, 4
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [edx], al
xchg edi, eax
mov edi, dword [esp]
shr edi, 8
dec edx
jmp 0x410fd4
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], ebp
movzx ebx, byte [esi]
mov dword [esp + 0x30], ebx
and ebx, 0x7f
inc esi
mov edx, dword [esp + 0x30]
test edx, 0x80
jne 0x4111d2
test edx, 0x7f
jne 0x4110e8
test ebp, ebp
je 0x41106d
xor edx, edx
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x94]
mov esi, ebp
mov ebp, edx
mov edx, ebx
mov ebx, dword [esp + 0x94]
jmp 0x410fd7
mov edx, dword [esp + 0x94]
cmp edx, 1
jne 0x4110b0
mov edx, dword [esp + 0x78]
mov ebx, edx
sub ebx, eax
lea eax, [ecx + ebx*8]
mov ebx, ecx
neg ecx
and ecx, 7
add ecx, ebx
jmp 0x41109e
xchg edi, eax
mov byte [edx], al
xchg edi, eax
add ecx, 0xfffffff8
shr edi, 8
mov ebx, edx
inc ebx
mov edx, ebx
test ecx, ecx
ja 0x41108f
mov dword [esp + 0x98], eax
add esp, 0x84
ret
mov edx, dword [esp + 0x78]
mov ebx, edx
sub eax, ebx
lea eax, [ecx + eax*4]
mov ebx, ecx
neg ecx
and ecx, 3
add ecx, ebx
jmp 0x4110e2
mov ebx, edi
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [edx], al
xchg edi, eax
add ecx, 0xfffffffc
shr ebx, 4
mov ebp, edx
dec ebp
mov edx, ebp
mov edi, ebx
test ecx, ecx
ja 0x4110c6
jmp 0x4110a2
shr ebx, 3
mov dword [esp + 0xc], ebx
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
jmp 0x411129
inc ebp
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x74], esi
mov ebp, dword [esp + 0x8c]
mov esi, edx
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
cmp ebp, ebx
jae 0x411198
movzx edx, byte [esi]
shl edx, cl
cmp ecx, 0x20
sbb ebx, ebx
and edx, ebx
or edi, edx
mov edx, esi
inc edx
mov ebx, dword [esp + 0x94]
cmp ebx, 1
jne 0x41115c
mov esi, dword [esp + 0x74]
xchg edi, eax
mov byte [esi], al
xchg edi, eax
shr edi, 8
inc esi
jmp 0x41110f
mov esi, edi
and edi, 0xf
or edi, 0xf0
mov eax, dword [esp + 0x74]
xchg edi, ebx
mov byte [eax], bl
xchg edi, ebx
dec eax
mov edi, esi
shr esi, 4
and esi, 0xf
or esi, 0xf0
xchg esi, ebx
mov byte [eax], bl
xchg esi, ebx
shr edi, 8
dec eax
mov esi, eax
mov eax, dword [esp + 0x90]
jmp 0x41110f
mov ebx, edx
and edx, 7
test ebx, 7
jbe 0x4111cc
movzx ebx, byte [esi]
shl ebx, cl
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
or edi, ebx
add edx, ecx
mov ebx, esi
inc ebx
mov ecx, edx
mov ebp, ebx
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x74]
jmp 0x411054
mov edx, ecx
mov ebx, esi
jmp 0x4111b8
mov dword [esp + 8], ecx
test edx, 0x7f
jne 0x4116e0
xor edx, edx
jmp 0x4111f9
lea edx, [ecx + 7]
mov ecx, dword [esp + 8]
mov edi, dword [esp]
mov esi, ebp
mov ebp, dword [esp + 0x8c]
movzx ebp, byte [esi]
mov dword [esp + 0x30], ebp
and ebp, 0x7f
mov ecx, edx
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and edi, ebp
or ebx, edi
mov ebp, esi
inc ebp
mov esi, dword [esp + 0x30]
test esi, 0x80
jne 0x4111e6
mov dword [esp + 0x30], ebx
xor ecx, ecx
xor edx, edx
jmp 0x411232
lea edx, [ecx + 7]
mov ecx, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
movzx esi, byte [ebp]
mov edi, esi
and esi, 0x7f
mov ecx, edx
shl esi, cl
cmp ecx, 0x20
sbb ebx, ebx
and esi, ebx
mov ebx, dword [esp + 0x20]
or ebx, esi
inc ebp
test edi, 0x80
jne 0x411229
mov dword [esp + 0x80], ebp
mov edx, dword [esp + 0x30]
imul ebx, edx
cmp edx, 0x19
ja 0x4114db
mov esi, dword [esp + 0x94]
cmp esi, 1
jne 0x41146f
mov edi, dword [esp + 0x78]
mov ecx, ebp
mov ebp, edi
dec ebp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
jmp 0x4112d8
mov eax, dword [esp + 0x28]
shl eax, 8
movzx ecx, byte [ebp]
or eax, ecx
lea ecx, [esi + 8]
dec ebp
mov esi, dword [esp + 0x94]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x2c]
cmp esi, edx
jb 0x4112aa
mov ebp, dword [esp + 0x28]
cmp esi, edx
jbe 0x411468
sub esi, edx
mov ecx, esi
shr ebp, cl
cmp ecx, 0x20
sbb esi, esi
and ebp, esi
cmp edx, 1
jne 0x411400
cmp ebp, 1
jne 0x4113f7
mov ecx, 0x19
mov edx, 0x1ffffff
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x94]
mov esi, dword [esp]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
jmp 0x411361
xchg esi, eax
mov byte [edi], al
xchg esi, eax
shr esi, 8
add ebx, 0xfffffff8
mov ecx, edi
inc ecx
mov edi, ecx
cmp ebx, 8
jae 0x411339
mov ecx, dword [esp + 0x20]
sub ecx, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x2c]
cmp ebx, ecx
jb 0x4113a9
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0x10]
shl edx, cl
cmp ecx, 0x20
sbb ebx, ebx
and edx, ebx
or esi, edx
mov edx, dword [esp + 0x2c]
lea ebx, [edx + ecx]
cmp ebp, 1
je 0x411348
jmp 0x4113a2
mov ecx, esi
and esi, 0xf
or esi, 0xf0
xchg esi, eax
mov byte [edi], al
xchg esi, eax
shr ecx, 4
add ebx, 0xfffffffc
mov esi, edi
dec esi
mov edi, esi
mov esi, ecx
cmp ebx, 4
jae 0x411386
jmp 0x41134d
mov dword [esp + 0x7c], edi
test ebx, ebx
jbe 0x4113f1
mov ecx, ebx
mov ebp, 1
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
dec ebp
and edx, ebp
mov ecx, dword [esp + 0x10]
shl edx, cl
cmp ecx, 0x20
sbb ebp, ebp
and edx, ebp
or esi, edx
lea edx, [ecx + ebx]
mov ecx, edx
mov ebp, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x7c]
mov edi, esi
jmp 0x411054
mov edx, dword [esp + 0x10]
jmp 0x4113d6
mov ecx, ebx
mov edx, ebp
jmp 0x411315
lea esi, [edx + edx]
cmp esi, 0x19
ja 0x411464
mov dword [esp + 0x14], edx
mov ecx, edx
jmp 0x41142c
mov dword [esp + 0x24], ebp
mov ecx, edx
shl ebp, cl
cmp ecx, 0x20
sbb esi, esi
and ebp, esi
mov esi, dword [esp + 0x24]
or ebp, esi
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x14]
cmp edx, 0x20
jbe 0x411410
test ecx, ecx
je 0x4116e7
mov eax, 0x19
xor edx, edx
div ecx
imul ecx, eax
mov edx, 1
shl edx, cl
cmp ecx, 0x20
sbb esi, esi
and edx, esi
dec edx
and ebp, edx
mov eax, dword [esp + 0x90]
mov edx, ebp
jmp 0x411315
mov ecx, edx
jmp 0x411456
mov edx, esi
jmp 0x4112f9
mov edi, dword [esp + 0x78]
mov ecx, ebp
mov ebp, edi
inc ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esp]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
jmp 0x4114ca
mov eax, dword [esp + 0x28]
shl eax, 4
movzx ecx, byte [ebp]
and ecx, 0xf
or eax, ecx
lea ecx, [esi + 4]
inc ebp
mov esi, dword [esp + 0x94]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x2c]
cmp esi, edx
jb 0x411499
mov ebp, dword [esp + 0x28]
jmp 0x4112e4
mov esi, dword [esp + 8]
sub edx, esi
mov dword [esp + 4], edx
mov edi, dword [esp + 0x94]
cmp edi, 1
jne 0x4115e5
lea edi, [edx + 7]
shr edi, 3
and edx, 7
mov ebp, dword [esp + 0x78]
sub ebp, edi
mov dword [esp + 0x30], ebp
mov edi, ebp
mov ebp, dword [esp + 4]
test ebp, 7
je 0x4115d9
movzx ebp, byte [edi]
lea edi, [edx - 8]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ecx, edi
shr ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
mov ecx, esi
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
mov edi, dword [esp]
or edi, ebp
lea ebp, [edx + ecx]
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 3
mov esi, dword [esp + 0x78]
jmp 0x411587
movzx eax, byte [edx]
mov ecx, ebp
shl eax, cl
cmp ecx, 0x20
sbb ecx, ecx
and eax, ecx
or edi, eax
mov eax, edx
inc eax
mov edx, eax
xchg edi, eax
mov byte [esi], al
xchg edi, eax
dec ebx
shr edi, 8
mov eax, esi
inc eax
mov esi, eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x20]
test ebx, ebx
ja 0x41155a
mov dword [esp + 0x6c], esi
mov ebx, ecx
and ecx, 7
test ebx, 7
jbe 0x4115d5
movzx edx, byte [edx]
mov ebx, 1
shl ebx, cl
dec ebx
and ebx, edx
mov edx, ecx
mov ecx, ebp
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
or edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x80]
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x8c]
jmp 0x411054
mov edx, ebp
jmp 0x4115ba
mov edx, edi
mov ebp, esi
mov edi, dword [esp]
jmp 0x41154b
lea edi, [edx + 3]
shr edi, 2
mov dword [esp + 0x18], edi
and edx, 3
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x30], ebp
add ebp, edi
mov edi, dword [esp + 4]
test edi, 3
je 0x4116d4
movzx ebp, byte [ebp]
and ebp, 0xf
lea edi, [edx - 4]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ecx, edi
shr ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
mov ecx, esi
shl ebp, cl
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
mov edi, dword [esp]
or edi, ebp
lea ebp, [edx + ecx]
sub ebx, edx
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x18]
lea edx, [esi + edx - 1]
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 2
mov esi, dword [esp + 0x78]
jmp 0x411694
movzx eax, byte [edx]
and eax, 0xf
mov ecx, ebp
shl eax, cl
cmp ecx, 0x20
sbb ecx, ecx
and eax, ecx
or edi, eax
mov eax, edi
and edi, 0xf
or edi, 0xf0
mov ecx, edx
dec ecx
mov edx, ecx
xchg edi, eax
mov byte [esi], al
xchg edi, eax
dec ebx
shr eax, 4
mov ecx, esi
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0x90]
test ebx, ebx
ja 0x411657
mov dword [esp + 0x70], esi
mov ebx, ecx
and ecx, 3
test ebx, 3
jbe 0x4116d0
movzx edx, byte [edx]
mov ebx, 1
shl ebx, cl
dec ebx
and ebx, edx
mov edx, ecx
mov ecx, ebp
shl ebx, cl
cmp ecx, 0x20
sbb esi, esi
and ebx, esi
or edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x70]
jmp 0x4115be
mov edx, ebp
jmp 0x4116c7
mov edx, ebp
mov ebp, esi
mov edi, dword [esp]
jmp 0x411648
mov ebp, esi
jmp 0x41121f
call fcn.00425d50
ud2
call fcn.0044a520
jmp fcn.00410f90