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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10073e5a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf8
mov dword [esp + 0x58], edx
mov dword [esp + 0x28], 0xb642c70b
mov dword [esp + 0x20], 0xd6f1860e
push ebx
xor ebx, ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], 0xebd004dd
push esi
mov dword [esp + 0x20], 0xc29478c9
mov esi, ecx
mov dword [esp + 0x20], 0x67f5aee0
push edi
mov dword [esp + 0x24], 0x59785734
or edi, 0xffffffff
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ebx
jmp 0x10018281
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xd4], 0x40424b96
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001826e
push 0x557b
push 0x3631
lea eax, [esp + 0x3c]
push ebx
push eax
call fcn.1001ac98
add esp, 0x10
mov dword [esp + 0x34], ebx
jmp 0x100183ef
mov dword [esp + 0x18], 0x961c0f80
lea ecx, [esp + 0xc8]
mov dword [esp + 0x20], ebx
push 1
call fcn.100157dc
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x2c], 0x94bf7d6
mov dword [esp + 0x48], ebx
jmp 0x100182e8
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0x5c], 0xd0176df7
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 1
jl 0x100182d8
push 0x6704
push 0x506d
lea eax, [esp + 0x50]
push eax
push 0x1946
push 0x2919
push 0x36ad
push 0x4eae
push 0x5cf7
push ebx
lea eax, [esp + 0xec]
push 0x1f6a
push eax
call fcn.1001a637
mov eax, dword [esp + 0x60]
add esp, 0x2c
mov dword [esp + 0x18], eax
cmp dword [esp + 0x34], ebx
je 0x10018346
cmp dword [esp + 0x18], ebx
je 0x10018346
xor ecx, ecx
inc ecx
jmp 0x10018348
mov ecx, ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
dec dword [esp + 0x20]
mov eax, dword [esp + 0x20]
add eax, 0xffff97bb
add eax, ecx
jne 0x1001838a
cmp dword [esp + 0xd4], ebx
jne 0x1001838a
mov ecx, ebx
jmp 0x1001838d
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
add edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xd4]
setl cl
cmp ecx, 0xa6d983a5
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
cmp edx, dword [esp + 0xdc]
jl 0x100183d1
cmp dword [esp + 0x20], ebx
jne 0x100183d1
mov eax, ebx
jmp 0x100183d4
xor eax, eax
inc eax
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0xc8]
mov dword [esp + 0x10c], edi
call fcn.1001585e
dec dword [esp + 0x34]
cmp dword [esp + 0x34], 0xffffffe5
jle 0x100182a9
mov dword [esp + 0x14], 0xddc85f70
lea ecx, [esp + 0x8c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x4c], edi
push 3
call fcn.100157dc
push 2
lea ecx, [esp + 0x84]
mov dword [esp + 0x110], 1
call fcn.100157dc
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x10018446
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x78], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001843a
mov dword [esp + 0x14], ebx
jmp 0x10018464
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
mov dword [eax + ecx*4], edi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10018452
mov dword [esp + 0x14], ebx
jmp 0x10018487
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x9639
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10018471
mov dword [esp + 0x14], 0xb
jmp 0x100184be
mov dword [esp + 0x10], ebx
jmp 0x100184ae
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x7c], 0x58d32ffa
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x1001849e
cmp dword [esp + 0x7c], ebx
jne 0x100184c5
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jle 0x10018498
mov dword [esp + 0x14], ebx
jmp 0x1001864f
mov dword [esp + 0x3c], 0xe6d058a8
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 0xfffffff8
mov dword [esp + 0x24], 2
mov dword [esp + 0x10], ebx
jmp 0x100184ff
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xc4], edx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edx
jl 0x100184f0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0xfffffff6
jg 0x1001864b
mov dword [esp + 0x30], 0xd4595a2e
xor ecx, ecx
mov dword [esp + 0x2c], 0xf7762406
mov dword [esp + 0x50], 9
mov dword [esp + 0x1c], 0xe6a83b1d
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
cmp eax, edx
setge cl
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0xffff
sbb eax, eax
add eax, 0xffff2027
neg eax
sbb eax, eax
add eax, 0x56fe18be
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setle cl
mov dword [esp + 0x50], ecx
cmp dword [esp + 0x50], ebx
je 0x100185d2
mov eax, dword [esp + 0x80]
mov dword [esp + 0x30], 0xfffffffc
mov dword [esp + 0x30], 0xfffffff9
mov dword [esp + 0x30], edi
inc dword [eax + 4]
mov dword [esp + 0x30], 0x44f8a3d3
mov dword [esp + 0x30], 0xb1dcede6
mov dword [esp + 0x30], ebx
jmp 0x10018636
mov dword [esp + 0x2c], 0x7e410f71
cmp dword [esp + 0x1c], ebx
jne 0x10018648
mov eax, dword [esp + 0x18]
xor edx, edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp eax, ecx
setle dl
cmp edx, 0xd979
jge 0x10018603
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
cmp eax, 0x19d44e41
setge cl
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x8c]
mov dword [eax], ecx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff6
push 1
pop edx
jle 0x1001851c
xor edx, edx
inc edx
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xfffffff5
jne 0x100184ce
lea ecx, [esp + 0x80]
call fcn.1001585e
lea ecx, [esp + 0x8c]
mov dword [esp + 0x10c], edi
call fcn.1001585e
cmp dword [esi + 0x10], ebx
jne 0x10018685
xor al, al
jmp 0x10018cb5
push 0xfffffffffffffff7
mov dword [esp + 0x14], 0xb505
xor edx, edx
pop edi
mov dword [esp + 0x18], edi
inc edx
mov dword [esp + 0x18], ebx
jmp 0x100186a9
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x54], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jl 0x1001869d
mov eax, dword [esp + 0x10]
push 2
pop ecx
sub ecx, eax
je 0x1001871f
mov dword [esp + 0x24], 0x4794
mov dword [esp + 0x10], ebx
jmp 0x10018714
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov edx, dword [esp + eax*4 + 0x54]
mov eax, dword [esp + 0x54]
cmp eax, 1
mov eax, dword [esp + 0x10]
setg cl
xor ebx, ebx
cmp ecx, edx
mov eax, dword [esp + eax*4 + 0x54]
setl bl
xor ecx, ecx
cmp eax, ebx
setl cl
xor eax, eax
cmp ecx, edi
setge al
xor ebx, ebx
neg eax
jne 0x10018709
cmp dword [esp + 0x24], ebx
jne 0x10018709
mov eax, ebx
jmp 0x1001870c
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x100186c8
jmp 0x100187f0
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], 0xfffe
mov dword [esp + 0x30], 0x3b19d88c
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x4c], 0xdf7d
mov dword [esp + 0x30], 0xba27438e
cmp dword [esp + 0x14], ebx
jne 0x100187af
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
neg eax
je 0x1001877d
mov dword [esp + 0x18], 0xffffd4d2
mov eax, edx
cmp dword [esp + 0x18], ebx
jne 0x1001876f
mov eax, ebx
cmp eax, 0xfffffff8
mov eax, dword [esp + 0x14]
sbb ecx, ecx
inc ecx
sub eax, ecx
jne 0x1001877f
mov edx, ebx
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
sub ecx, dword [esp + 0x14]
je 0x1001879d
cmp dword [esp + 0x24], ebx
je 0x1001879d
xor edx, edx
inc edx
mov eax, edx
jmp 0x100187a2
xor edx, edx
mov eax, ebx
inc edx
cmp eax, edx
sbb eax, eax
inc eax
mov dword [esp + 0x30], eax
mov eax, ebx
je 0x100187b1
mov eax, edx
mov dword [esp + 0x1c], eax
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp ecx, eax
mov eax, dword [esp + 0x4c]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x10]
setne cl
xor edx, edx
dec ecx
cmp ecx, eax
mov eax, dword [esp + 0x54]
setne dl
xor ecx, ecx
sub edx, 0x3c394a73
cmp edx, eax
setle cl
mov dword [esp + 0x30], ecx
push 0x7c30
push ebx
mov edx, 0x10e8
lea ecx, [esp + 0x6c]
call fcn.100176c9
mov dword [esp + 0x18], 0xfffa
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], edi
pop ecx
mov dword [esp + 0xc0], edi
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x10018843
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x98], 0xa35f394
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x10018830
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x10], ebx
jmp 0x1001888e
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10018874
push ebx
call fcn.10019a93
pop ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x98]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x98], ecx
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jle 0x10018862
cmp dword [esi + 0x14], 0x10
jb 0x1001889f
mov ecx, dword [esi]
jmp 0x100188a1
mov ecx, esi
or edi, 0xffffffff
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x58], ecx
jb 0x100188b2
mov edx, dword [esi]
jmp 0x100188b4
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10018cb3
mov dword [esp + 0x44], 0x29a3df60
lea ecx, [esp + 0xa4]
push 2
call fcn.100157dc
lea eax, [esp + 0xa4]
mov dword [esp + 0x10c], 2
push eax
push 1
lea edx, [esp + 0xc8]
mov ecx, 0x5b94
call fcn.100176c9
push 0x3b67
push ebx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x58]
push eax
push 0x65c0
push 0x5626
call fcn.1001fbf1
add esp, 0x20
mov dword [esp + 0x44], ebx
jmp 0x10018944
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x10018940
push 0x6133
push ebx
call fcn.10021da1
pop ecx
pop ecx
inc dword [esp + 0x44]
cmp dword [esp + 0x44], 1
jle 0x10018928
lea ecx, [esp + 0xa4]
mov dword [esp + 0x10c], edi
call fcn.1001585e
mov eax, dword [esp + 0x58]
mov al, byte [eax]
cmp al, 0x30
jl 0x100189fa
cmp al, 0x39
jg 0x100189fa
mov dword [esp + 0x10], edi
xor edx, edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setle dl
imul eax, dword [esp + 0x10]
neg eax
sub edx, eax
mov eax, dword [esp + 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
add ecx, 0xfc4b
je 0x100189c5
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0x868bb4a
push eax
push ebx
call fcn.10019df9
jmp 0x100189d0
push ebx
push 0x28db
call fcn.1001a526
pop ecx
pop ecx
lea eax, [esp + 0x58]
mov edx, 0x4b31
push eax
lea eax, [esp + 0x68]
xor cl, cl
push 0x7077
push eax
call fcn.10017c1f
mov ecx, dword [esp + 0x64]
add esp, 0xc
inc ecx
jmp 0x100188a4
push 1
lea ecx, [esp + 0x70]
call fcn.100157dc
mov dword [esp + 0x10c], 3
lea eax, [esp + 0x40]
push 0x34b8
mov dword [esp + 0x20], 1
lea edx, [esp + 0x70]
push eax
mov dword [esp + 0x24], 2
mov cl, 1
mov dword [esp + 0x24], 0xb5a7dd9a
mov dword [esp + 0x2c], edi
push 0x3e80
call fcn.10017c1f
add esp, 0xc
mov dword [esp + 0x40], ebx
jmp 0x10018a5f
mov eax, dword [esp + 0x40]
mov dword [esp + eax*4 + 0x38], 0x377c
inc dword [esp + 0x40]
cmp dword [esp + 0x40], 1
jl 0x10018a4f
mov eax, dword [esp + 0x38]
xor edx, edx
mov eax, dword [esp + 0x6c]
cmp dword [eax], ebx
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x38]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [esp + 0x6c]
setl cl
xor edx, edx
cmp ecx, dword [eax]
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax]
setl dl
imul ecx, edx
sub ecx, esi
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
add ecx, esi
cmp ecx, esi
setle al
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
imul edx, dword [eax]
mov eax, dword [esp + 0x38]
cmp edx, eax
setg cl
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
setne dl
sub edx, 0xfff9
jne 0x10018ae1
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
cmp eax, 1
setge cl
xor eax, eax
cmp ecx, 0xfaea
lea ecx, [esp + 0x6c]
setg al
mov dword [esp + 0x24], eax
mov dword [esp + 0x10c], edi
call fcn.1001585e
mov eax, dword [esp + 0x64]
mov dword [eax], ebx
mov dword [esp + 0x10], 0xb642c70b
mov dword [esp + 0x1c], 0xd6f1860e
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x2c], 0xebd004dd
mov dword [esp + 0x24], 0xc29478c9
mov dword [esp + 0x24], 0x67f5aee0
mov dword [esp + 0x24], 0x59785734
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ebx
jmp 0x10018b73
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0xf0], 0x40424b96
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10018b60
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x10], ebx
jmp 0x10018ca3
mov dword [esp + 0x18], 0x961c0f80
lea ecx, [esp + 0xe4]
mov dword [esp + 0x20], ebx
push 1
call fcn.100157dc
xor edx, edx
mov dword [esp + 0x1c], 0x94bf7d6
mov dword [esp + 0x14], ebx
inc edx
jmp 0x10018bc6
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x60], 0xd0176df7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10018bb6
mov dword [esp + 0x14], ebx
jmp 0x10018be8
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x10018bd2
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x10], ebx
je 0x10018c04
mov ecx, edx
cmp dword [esp + 0x18], ebx
jne 0x10018c06
mov ecx, ebx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
dec dword [esp + 0x20]
mov eax, dword [esp + 0x20]
add eax, 0xffff97bb
add eax, ecx
jne 0x10018c46
mov ecx, ebx
cmp dword [esp + 0xf0], ebx
je 0x10018c48
mov ecx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0xf0]
setl cl
cmp ecx, 0xa6d983a5
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setne dl
cmp edx, dword [esp + 0xf8]
jl 0x10018c8c
cmp dword [esp + 0x20], ebx
jne 0x10018c8c
mov eax, ebx
jmp 0x10018c8f
xor eax, eax
inc eax
mov dword [esp + 0x60], eax
lea ecx, [esp + 0xe4]
call fcn.1001585e
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe5
jle 0x10018b8b
jmp 0x1001867e
mov al, 1
mov ecx, dword [esp + 0x104]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret