Function at 0x1000c9f8
Capabilities:
Get session user name
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006542d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x220
push ebx
push esi
xor eax, eax
mov dword [esp + 0xc], 0xdcec3d7d
inc eax
mov esi, edx
mov dword [esp + 0x18], eax
push edi
mov edi, ecx
mov dword [esp + 0x14], 0xc7be0218
mov dword [esp + 0x2c], 0x7a912e75
lea ecx, [esp + 0x130]
mov dword [esp + 0x18], 9
push eax
mov dword [esp + 0x48], esi
call fcn.10006b10
mov eax, 0xe3f50e16
xor ebx, ebx
mov dword [esp + 0x234], ebx
mov edx, 0x64ac
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x130]
push 0x486f
push eax
lea eax, [esp + 0x1d0]
push eax
push ebx
call fcn.1000c5be
add esp, 0x10
cmp dword [esp + 0x10], ebx
je 0x1000cb6c
mov dword [esp + 0xc], 1
mov dword [esp + 0x2c], 0xbf199314
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x1000cae0
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1fc], 0x7a8cf1d6
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1000cacd
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x204], eax
jne 0x1000cb0a
dec dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x3cf
setle cl
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov eax, dword [esp + 0x2c]
test eax, eax
sets cl
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub edx, eax
mov eax, dword [esp + 0x130]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax], edx
mov eax, dword [esp + 0xc]
cmp eax, edx
setle cl
mov dword [esp + 0x24], ecx
jmp 0x1000cbdd
mov dword [esp + 0x94], 1
mov dword [esp + 0x20], 0xcbaa6f4e
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x10], ebx
jmp 0x1000cbd7
mov dword [esp + 0xfc], 0xdfe1602a
mov byte [esp + 0x2a], bl
cmp byte [esp + 0x2a], bl
je 0x1000cbad
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x14a5
lea eax, [esp + 0x100]
push eax
push ecx
push ecx
lea eax, [esp + 0xa4]
mov ecx, 0x4f2c
push 1
push eax
call fcn.1000c71d
add esp, 0x18
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000cb90
or dword [esp + 0x234], 0xffffffff
lea ecx, [esp + 0x130]
call fcn.10006b72
cmp byte [esi], 0x50
jne 0x1000ddee
cmp byte [esi + 1], 0x4b
jne 0x1000ddee
push 1
lea ecx, [esp + 0x164]
call fcn.10006b10
mov dword [esp + 0x234], 1
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], ebx
jmp 0x1000cc41
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x160]
mov dword [eax + ecx*4], 0x2062
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1000cc2b
push 2
mov dword [esp + 0x10], ebx
pop edi
jmp 0x1000cc64
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x128], 0x7b5ca98
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1000cc51
mov dword [esp + 0x10], ebx
jmp 0x1000ccb1
mov dword [esp + 0x68], 0x76ff55e0
mov dword [esp + 0x20], 0x5a1fa147
mov dword [esp + 0x68], ebx
cmp dword [esp + 0x68], ebx
jl 0x1000cc9c
mov dword [esp + 0x1c], 0xf95751cf
inc dword [esp + 0x1c]
dec dword [esp + 0x68]
jns 0x1000cc8a
sub esp, 0xc
lea edx, [esp + 0x74]
mov cl, 1
call fcn.1000c87b
add esp, 0xc
inc dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jle 0x1000cc70
mov eax, dword [esp + 0x160]
mov ecx, dword [eax]
test ecx, ecx
je 0x1000ccd4
mov eax, ecx
neg eax
cmp eax, 0xde6fc608
jne 0x1000ccd4
xor esi, esi
inc esi
jmp 0x1000ccd6
mov esi, ebx
xor eax, eax
test ecx, ecx
sete al
xor edx, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
cmp esi, eax
mov eax, dword [esp + 0x10]
sete dl
xor ecx, ecx
cmp eax, 0x8cf
setl cl
xor eax, eax
cmp ecx, edx
lea ecx, [esp + 0x160]
setne al
or esi, 0xffffffff
mov dword [esp + 0x128], eax
mov dword [esp + 0x234], esi
call fcn.10006b72
mov ecx, dword [esp + 0x44]
push 4
mov dword [esp + 0x68], 3
mov al, byte [ecx + 2]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x53], al
call fcn.10006b10
push ebx
push 0x780b
lea eax, [esp + 0xd4]
mov dword [esp + 0x23c], edi
push eax
push ecx
mov dword [esp + 0x1c], 0x22ba3946
mov dword [esp + 0x94], ebx
push ecx
mov dword [esp + 0x2c], 0xe994
lea ecx, [esp + 0x70]
mov dword [esp + 0x34], ebx
call fcn.1000c991
add esp, 0x14
mov dword [esp + 0x5c], ebx
jmp 0x1000cd99
mov eax, dword [esp + 0x5c]
mov dword [esp + eax*4 + 0x80], 0x255d5800
inc dword [esp + 0x5c]
cmp dword [esp + 0x5c], 1
jl 0x1000cd86
mov dword [esp + 0xc], ebx
jmp 0x1000cf2f
mov dword [esp + 0x10], 0x7adf1adb
mov dword [esp + 0x50], esi
mov dword [esp + 0x14], ebx
jmp 0x1000cdce
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x194], 0x59609c3f
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x1000cdbb
dec dword [esp + 0x10]
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 3
jg 0x1000cf2b
mov dword [esp + 0x24], 8
mov dword [esp + 0x2c], 0xa41b8700
mov dword [esp + 0x3c], 0x87778e10
mov dword [esp + 0x3c], 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x1c], 0x79999191
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], ebx
jmp 0x1000ce2d
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x90], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1000ce1e
mov eax, dword [esp + 0x18]
inc dword [esp + 0x18]
test eax, eax
jne 0x1000ce7e
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
mov eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0x19c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x1a0]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0x90]
push 0
cmp dword [ecx + edx*4], eax
mov eax, dword [esp + 0x30]
pop ecx
setle cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xcc]
setge dl
xor ecx, ecx
cmp edx, dword [eax + esi*4]
setne cl
cmp ecx, 0x7039
jl 0x1000ced8
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xcc]
cmp dword [eax + ecx*4], ebx
je 0x1000ced8
xor eax, eax
inc eax
jmp 0x1000ceda
mov eax, ebx
mov dword [esp + 0x80], eax
mov dl, 1
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x84]
push ecx
push eax
mov ecx, 0x2d4c
call fcn.1000c7ce
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
pop ecx
pop ecx
push 0xffffffffffffffff
pop esi
jle 0x1000cde8
or esi, esi
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x1000cda9
lea ecx, [esp + 0xcc]
mov dword [esp + 0x234], esi
call fcn.10006b72
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x4f]
push ecx
push ebx
mov dword [esp + 0x6c], 4
mov al, byte [eax + 3]
mov byte [esp + 0x33], al
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.1000c6cc
add esp, 0x10
lea ecx, [esp + 0x148]
push 3
call fcn.10006b10
push 4
lea ecx, [esp + 0x158]
mov dword [esp + 0x238], 3
call fcn.10006b10
push ecx
lea eax, [esp + 0xc8]
mov byte [esp + 0x238], 4
push eax
lea eax, [esp + 0x150]
xor cl, cl
push 0x2fc6
push eax
call fcn.1000c8f8
add esp, 0x10
lea eax, [esp + 0x154]
xor dl, dl
push 0x43df
push eax
lea eax, [esp + 0xcc]
push eax
push ecx
mov ecx, 0x176c
call fcn.1000c67a
add esp, 0x10
lea eax, [esp + 0x148]
lea edx, [esp + 0x154]
push ebx
push ecx
push eax
call fcn.1000c7ff
mov byte [esp + 0x36], bl
add esp, 0xc
cmp byte [esp + 0x2a], 0
je 0x1000d01e
sub esp, 0xc
mov edx, 0x767d
xor cl, cl
call fcn.1000c87b
add esp, 0xc
lea ecx, [esp + 0x154]
call fcn.10006b72
lea ecx, [esp + 0x148]
mov dword [esp + 0x234], esi
call fcn.10006b72
mov eax, dword [esp + 0x64]
xor dl, dl
push ecx
push 0x4df6
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x6c]
push ecx
push eax
push ecx
push ecx
call fcn.1000c9d8
mov dword [esp + 0x28], esi
add esp, 0x18
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], 1
mov dword [esp + 0x10], ebx
jmp 0x1000d0a4
mov dword [esp + 0x14], esi
mov dword [esp + 0x14], 0xd
jmp 0x1000d09a
push 1
push ecx
push 0x335a
mov edx, 0x56e2
call fcn.1000c7ff
add esp, 0xc
dec dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x1000d081
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff0
jle 0x1000d073
mov dword [esp + 0x10], ebx
jmp 0x1000d1f5
mov dword [esp + 0xc], ebx
mov dword [esp + 0x20], 0x85869
mov dword [esp + 0xc], ebx
jmp 0x1000d0d5
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1d4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1000d0c6
mov dword [esp + 0xc], ebx
jmp 0x1000d0f0
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1cc], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1000d0e1
mov dword [esp + 0xc], ebx
jmp 0x1000d1d3
mov dword [esp + 0x14], 0x19570a50
lea ecx, [esp + 0x1a4]
push 3
call fcn.10006b10
push ebx
push ecx
mov dword [esp + 0x23c], 5
lea eax, [esp + 0x1b8]
push ecx
mov dword [esp + 0x2c], 0xbf09457
lea edx, [esp + 0x1b0]
mov dword [esp + 0x28], 1
push eax
call fcn.1000c60d
xor edx, edx
add esp, 0x10
inc edx
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], ebx
jl 0x1000d1bc
mov dword [esp + 0x20], 0xf717c925
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebx
jmp 0x1000d178
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x218], edi
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1000d169
mov eax, dword [esp + 0x14]
cmp dword [esp + eax*4 + 0x1d4], ebx
je 0x1000d1b0
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1c]
imul eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
mov eax, edx
cmp dword [esp + 0x1c], ebx
jne 0x1000d1b2
mov eax, ebx
mov dword [esp + 0x1c], eax
dec dword [esp + 0x14]
jns 0x1000d157
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x234], esi
call fcn.10006b72
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 8
jg 0x1000d0ff
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
dec dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jle 0x1000d0b4
movzx eax, byte [esp + 0x2b]
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x24]
add esi, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], esi
mov edx, dword [ecx + eax]
mov ecx, dword [ecx + eax + 0x14]
call fcn.1000c5b2
mov dword [esp + 0x70], eax
lea ecx, [esp + 0xa4]
mov eax, dword [esp + 0x44]
add eax, esi
push 3
mov dword [esp + 0x30], eax
call fcn.10006b10
push 0xfffffffffffffff8
pop esi
mov dword [esp + 0x234], 6
lea ecx, [esp + 0x178]
mov dword [esp + 0xc], esi
push 4
call fcn.10006b10
push ecx
lea eax, [esp + 0x4c]
mov byte [esp + 0x238], 7
push eax
mov dword [esp + 0x24], 0xfffffff9
lea edx, [esp + 0xac]
push ecx
mov dword [esp + 0x24], esi
xor cl, cl
mov dword [esp + 0x2c], 0xf6ed7348
call fcn.1000c94c
lea eax, [esp + 0x54]
push eax
push 0x7126
push 0x262d
push 1
lea edx, [esp + 0x194]
call fcn.1000c5be
add esp, 0x1c
mov dword [esp + 0x48], ebx
jmp 0x1000d2c8
mov eax, dword [esp + 0x48]
mov dword [esp + eax*4 + 0xe8], 0xffffffff
inc dword [esp + 0x48]
cmp dword [esp + 0x48], 1
jl 0x1000d2b5
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], edi
jg 0x1000d41e
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], 0xf985589b
mov dword [esp + 0x50], 0x7736eae1
mov dword [esp + 0x18], ebx
jmp 0x1000d31c
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x20c], 0x129b8575
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 3
jl 0x1000d309
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], 0x722ba7b7
dec dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov dword [edx + 8], esi
imul eax, dword [ecx + 8]
xor ecx, ecx
push 0
cmp eax, 0x37b3
mov eax, dword [esp + 0x10]
setg cl
add eax, ecx
mov dword [esp + 0xec], eax
mov edx, dword [esp + 0x10]
lea ecx, [eax + esi]
mov eax, dword [esp + 0xa8]
cmp ecx, dword [eax + edx*4]
pop eax
setl al
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xa4]
sub edx, 0x6d06
push 2
add edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [eax + 4]
mov eax, dword [esp + 0x10]
cmp edx, eax
mov edx, dword [esp + 0x18]
setle cl
xor eax, eax
add ecx, dword [esp + 0x10]
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, dword [edx + 4]
mov eax, dword [esp + 0xa8]
setge cl
xor edx, edx
cmp ecx, 0x1bb3
setle dl
sub edx, dword [eax + esi*4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [eax]
mov eax, dword [esp + 0x54]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x18]
setg dl
sub edx, 0xfffffffb
add edx, dword [eax + edi*4]
neg edx
pop edi
sbb edx, edx
inc edx
mov dword [esp + 0x20], edx
inc dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0xc], edi
jle 0x1000d2f3
lea ecx, [esp + 0x178]
call fcn.10006b72
or dword [esp + 0x234], 0xffffffff
lea ecx, [esp + 0xa4]
call fcn.10006b72
mov dword [esp + 0x18], 0xf365
lea ecx, [esp + 0x16c]
mov dword [esp + 0x14], ebx
push edi
call fcn.10006b10
mov dword [esp + 0x234], 8
mov dword [esp + 0x1c], 0xfffffffe
mov dword [esp + 0x20], 0x5169ff4c
mov dword [esp + 0x60], ebx
jmp 0x1000d487
mov eax, dword [esp + 0x60]
mov dword [esp + eax*4 + 0x8c], ebx
inc dword [esp + 0x60]
cmp dword [esp + 0x60], 1
jl 0x1000d478
push 0x3d8
push ecx
push ecx
lea eax, [esp + 0x6c]
push eax
push ecx
push 0x350f
lea edx, [esp + 0x184]
mov cl, 1
call fcn.1000c8c1
mov eax, dword [esp + 0x30]
add esp, 0x18
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x1000d4eb
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x18]
jle 0x1000d4eb
cmp dword [esp + 0x14], ebx
jne 0x1000d4e1
mov eax, dword [esp + 0x8c]
jmp 0x1000d4e7
cmp dword [esp + 0x18], ebx
jne 0x1000d4eb
mov eax, ebx
jmp 0x1000d4ee
xor eax, eax
inc eax
xor ecx, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
cmp eax, 0xdb2b
mov eax, dword [esp + 0x16c]
setg cl
xor edx, edx
imul ecx, dword [eax + 4]
cmp ecx, dword [eax]
setge dl
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [esp + 0x18]
cmp edx, eax
setne cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x16c]
or dword [esp + 0x234], 0xffffffff
call fcn.10006b72
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x70]
push 3
pop esi
mov dword [ecx], eax
mov dword [esp + 0x10], 0xaeef20fe
mov dword [esp + 0x10], ebx
jmp 0x1000d564
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x11c], 5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], esi
jl 0x1000d551
mov dword [esp + 0x10], ebx
jmp 0x1000d583
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0xc8], 0xa3eaa3e8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 1
jl 0x1000d570
mov dword [esp + 0x10], ebx
jmp 0x1000d668
mov dword [esp + 0x14], 0xe2c0d37a
mov dword [esp + 0x20], 0xc88fed6c
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x20], 0xfffffffc
mov dword [esp + 0x20], 0xb99bf0bb
mov dword [esp + 0x20], 0x51404fc4
mov dword [esp + 0x18], 0x6daafd55
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], ebx
jl 0x1000d660
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + eax*4 + 0x11c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x11c], ecx
xor eax, eax
cmp ecx, 1
setne al
add eax, 0x19d3388a
je 0x1000d637
cmp dword [esp + 0x124], ebx
je 0x1000d637
xor edx, edx
inc edx
jmp 0x1000d639
mov edx, ebx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
add ecx, dword [esp + 0x1c]
cmp ecx, 0x4750
setle al
mov dword [esp + 0xc8], eax
dec dword [esp + 0x14]
jns 0x1000d5e1
inc dword [esp + 0x18]
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jle 0x1000d593
sub esp, 0xc
lea edx, [esp + 0x7c]
mov cl, 1
call fcn.1000c646
mov dword [esp + 0x44], 0xfd3df75d
mov eax, 0xe764939e
mov dword [esp + 0x10c], eax
add esp, 0xc
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], 0xec8167ba
mov dword [esp + 0x38], ebx
jmp 0x1000d8b8
mov dword [esp + 0x10], 0x35f394a2
mov dword [esp + 0x34], 0x60f7e730
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x10], 0xfffffff6
je 0x1000d838
push 1
lea ecx, [esp + 0xb4]
call fcn.10006b10
push ebx
push 0xf2a
lea eax, [esp + 0x100]
mov dword [esp + 0x23c], 9
push eax
push ecx
push 0x5cb1
lea edx, [esp + 0xc4]
call fcn.1000c766
mov eax, dword [esp + 0xc4]
add esp, 0x14
mov dword [eax], ebx
mov dword [esp + 0x20], 0xcc590f02
cmp dword [esp + 0x20], ebx
mov esi, dword [esp + 0xb0]
jne 0x1000d766
lea eax, [esp + 0x38]
mov edx, 0x653c
push eax
push ecx
push ecx
push 0x4730
push ecx
lea eax, [esp + 0x48]
xor cl, cl
push eax
call fcn.1000c8c1
add esp, 0x18
inc dword [esi]
cmp dword [esi], 0xc
jle 0x1000d729
mov eax, dword [esi]
mov dword [esp + 0x100], eax
test eax, eax
jne 0x1000d77d
cmp dword [esp + 0x10], ebx
jne 0x1000d77d
mov edx, ebx
jmp 0x1000d780
xor edx, edx
inc edx
mov dword [esp + 0x1c], 0x2625aa9c
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp edx, 0x3f50e16f
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
setge cl
mov eax, dword [esp + 0x38]
xor edx, edx
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp ecx, eax
setl dl
sub edx, 9
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x34], edx
xor edx, edx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xb0]
cmp dword [eax], ecx
setg dl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax]
cmp ecx, 0xd5297f1f
sbb eax, eax
xor edx, edx
neg eax
cmp ecx, eax
setl dl
sub edx, dword [esp + 0x38]
mov eax, dword [esp + 0xb0]
neg edx
sbb edx, edx
inc edx
add edx, dword [eax]
je 0x1000d80a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], 1
lea ecx, [esp + 0xb0]
or dword [esp + 0x234], 0xffffffff
call fcn.10006b72
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xfffffff6
jne 0x1000d6e4
push 3
pop esi
mov dword [esp + 0x14], 0xffffffee
jmp 0x1000d8ad
mov dword [esp + 0x34], esi
cmp dword [esp + 0x34], ebx
jl 0x1000d8a9
mov eax, dword [esp + 0x34]
cmp dword [esp + eax*4 + 0x100], 0xaad50324
mov eax, dword [esp + 0x34]
sbb edx, edx
xor ecx, ecx
neg edx
mov eax, dword [esp + eax*4 + 0x100]
cmp eax, edx
setge cl
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebx
jmp 0x1000d89d
push ecx
push 0x193c
lea eax, [esp + 0x56]
mov byte [esp + 0x56], bl
push eax
push 0x7221
mov cl, 1
call fcn.1000c8f8
add esp, 0x10
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jle 0x1000d87b
dec dword [esp + 0x34]
jns 0x1000d84c
dec dword [esp + 0x14]
cmp dword [esp + 0x14], 0xffffffe2
jge 0x1000d842
dec dword [esp + 0x38]
cmp dword [esp + 0x38], 0xffffffe4
jl 0x1000d6c5
cmp dword [esp + 0x70], 0
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
mov eax, dword [ecx + esi]
mov dword [esp + 0x184], eax
mov eax, dword [ecx + esi + 4]
mov dword [esp + 0x188], eax
mov eax, dword [ecx + esi + 8]
mov dword [esp + 0x18c], eax
mov eax, dword [ecx + esi + 0xc]
mov dword [esp + 0x190], eax
jbe 0x1000df54
sub esi, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
push dword [esp + 0xf8]
movdqa xmm0, xmmword [0x10073840]
lea eax, [esp + 0x1f0]
push eax
lea eax, [esp + 0x1e4]
mov dword [esp + 0x38], 1
push eax
push ebx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa8], ebx
movdqu xmmword [esp + 0x1ec], xmm0
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
call fcn.1000bd43
mov dword [esp + 0x234], 0xa
mov dword [esp + 0x6c], 0x4ebf8c32
mov dword [esp + 0x74], 0xfffffffd
mov dword [esp + 0x24], ebx
push 3
pop ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], 0x720af826
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ebx
jmp 0x1000d9a7
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x78], 0xae355683
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x1000d997
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x30], 1
jg 0x1000dd05
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
jmp 0x1000d9cc
push 3
pop ecx
push ecx
lea ecx, [esp + 0x114]
call fcn.10006b10
lea eax, [esp + 0xd8]
mov byte [esp + 0x234], 0xb
push eax
push 0x3ef6
push ecx
push ecx
push ebx
mov dword [esp + 0x68], 0xffffffff
lea ecx, [esp + 0x124]
push 0x4ab4
mov dword [esp + 0xa0], 0x73ae4c7b
call fcn.1000c71d
mov eax, dword [esp + 0x128]
add esp, 0x18
lea ecx, [eax + 8]
lea edx, [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [ecx], 1
mov dword [esp + 0x24], edx
mov edx, dword [ecx]
xor ecx, ecx
mov eax, dword [eax]
mov dword [esp + 0x10], 0x9dade661
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
cmp edx, eax
setl cl
cmp ecx, edx
jl 0x1000da58
cmp dword [esp + 0x10], ebx
je 0x1000da63
cmp dword [esp + 0x30], ebx
je 0x1000da63
xor ecx, ecx
inc ecx
jmp 0x1000da65
mov ecx, ebx
mov esi, dword [esp + 0x30]
xor edx, edx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + eax*4 + 0x78], esi
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov eax, dword [esp + 0x10]
setg dl
sub edx, 0xfffffffa
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0x24]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [esp + 0x30]
setl dl
xor ecx, ecx
dec edx
cmp edx, eax
mov edx, dword [esp + 0x24]
setg cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
xor ecx, ecx
cmp eax, dword [edx]
setg cl
xor eax, eax
cmp ecx, 0x722a
setne al
xor ecx, ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp esi, eax
mov eax, dword [esp + 0x20]
setl cl
mov dword [eax + 8], ecx
mov dword [esp + 0x10], ebx
jmp 0x1000dca7
mov dword [esp + 0xc], 0x6cedda56
mov dword [esp + 0x54], ebx
cmp dword [esp + 0x54], 1
jle 0x1000dc8d
mov esi, dword [esp + 0x1c]
push dword [esp + 0xd8]
movdqa xmm0, xmmword [0x100738a0]
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0x1f4]
mov dword [esp + 0x58], 0x580b0b8b
push eax
push ebx
lea ecx, [esp + 0xec]
mov dword [esp + 0xec], ebx
movdqu xmmword [esp + 0x1fc], xmm0
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
call fcn.1000bd43
push 3
lea ecx, [esp + 0x140]
mov byte [esp + 0x238], 0xc
call fcn.10006b10
push 1
lea eax, [esp + 0x140]
mov byte [esp + 0x238], 0xd
push eax
push 0x586
push ecx
lea eax, [esp + 0x1c4]
mov edx, 0x612d
push eax
call fcn.1000c766
add esp, 0x14
mov byte [esp + 0x43], bl
lea eax, [esp + 0x43]
push 1
push eax
push 0x3b1b
push ecx
push ecx
mov ecx, 0x5b15
call fcn.1000c991
mov eax, dword [esp + 0x20]
add esp, 0x14
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xc], ebx
je 0x1000dbd8
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
neg ecx
mov eax, dword [esp + 0xc]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [esi]
push 6
setle dl
xor ecx, ecx
add edx, 0xca4
mov eax, dword [esp + eax*4 + 0x7c]
cmp eax, edx
sete cl
add ecx, ecx
cmp ecx, 7
pop ecx
sbb eax, eax
inc eax
cmp ecx, eax
mov eax, dword [esi]
sbb edx, edx
inc edx
mov ecx, dword [esp + eax*4 + 0x78]
mov eax, dword [esp + 0x50]
sub edx, eax
sub edx, ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xdc]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi]
mov dword [esp + eax*4 + 0x78], ecx
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp eax, 1
mov eax, dword [esp + 0x13c]
setle cl
mov dword [eax], ecx
lea ecx, [esp + 0x13c]
call fcn.10006b72
lea ecx, [esp + 0xdc]
mov byte [esp + 0x234], 0xb
call fcn.10006b72
inc dword [esp + 0x54]
cmp dword [esp + 0x54], 1
jg 0x1000db06
push ecx
push 0x4527
push ecx
mov edx, 0x2396
mov cl, 1
call fcn.1000c94c
add esp, 0xc
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffeb
jg 0x1000daeb
mov ecx, dword [esp + 0x1c]
dec dword [ecx]
js 0x1000dcc6
mov eax, dword [esp + 0x110]
jmp 0x1000da33
push ecx
lea eax, [esp + 0x78]
mov dl, 1
push eax
push ecx
push 0x99f
push ecx
push ecx
call fcn.1000c9d8
add esp, 0x18
mov byte [esp + 0x234], 0xa
lea ecx, [esp + 0x110]
call fcn.10006b72
inc dword [esp + 0x30]
cmp dword [esp + 0x30], 1
jle 0x1000d9c9
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], eax
mov dword [esp + 0x24], 0xfffffffa
cmp dword [esp + 0x24], ebx
je 0x1000dd3e
cmp dword [esp + 0x74], ebx
je 0x1000dd3e
mov eax, dword [esp + 0x98]
cmp dword [eax + 0xc], ebx
je 0x1000dd3e
xor ecx, ecx
inc ecx
jmp 0x1000dd40
mov ecx, ebx
mov eax, dword [esp + 0x78]
cmp ecx, 0xffff
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
sbb ecx, ecx
mov dword [esp + 0x24], eax
neg ecx
mov eax, dword [esp + 0x98]
xor edx, edx
cmp ecx, dword [eax + 8]
mov eax, dword [esp + 0x24]
setne dl
sub edx, 0x45f8
add eax, edx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x30]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x3c]
jne 0x1000dd94
cmp dword [esp + 0x30], ebx
jne 0x1000dd94
mov eax, ebx
jmp 0x1000dd97
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x98]
or dword [esp + 0x234], 0xffffffff
call fcn.10006b72
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
and edx, 3
mov ecx, dword [eax]
mov edx, dword [esp + edx*4 + 0x184]
call fcn.1000c5b2
mov ecx, dword [esp + 0x2c]
mov dword [esi + ecx], eax
add ecx, 4
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x70]
jb 0x1000d90d
jmp 0x1000df54
push 1
lea ecx, [esp + 0xf0]
call fcn.10006b10
lea eax, [esp + 0x58]
mov dword [esp + 0x234], 0xe
push eax
push 0x33b9
push 0x5764
mov dword [esp + 0x2c], 7
mov dl, 1
push ecx
mov dword [esp + 0x60], 0x5520f303
lea ecx, [esp + 0xfc]
mov dword [esp + 0x34], ebx
call fcn.1000c67a
add esp, 0x10
mov dword [esp + 0x58], ebx
jmp 0x1000de55
mov eax, dword [esp + 0x58]
mov dword [esp + eax*4 + 0xbc], 0xffffffff
inc dword [esp + 0x58]
cmp dword [esp + 0x58], 2
jl 0x1000de42
mov byte [esp + 0x2b], bl
cmp byte [esp + 0x2b], 0
je 0x1000de7d
push ecx
push 1
push 0xdea
push ecx
mov edx, 0x5dd7
call fcn.1000c6cc
add esp, 0x10
mov eax, dword [esp + 0xec]
mov dword [eax], 0x15
mov dword [esp + 0x14], 0x995f7626
mov ecx, 0xc422d5fb
mov dword [esp + 0x18], 0xf1e2cd84
mov eax, dword [esp + 0x14]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0x522a
jl 0x1000deb4
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
xor edx, edx
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xec]
cmp dword [eax], ecx
mov eax, dword [esp + 0x14]
setne dl
imul eax, edx
cmp eax, dword [esp + 0x50]
jle 0x1000def0
cmp dword [esp + 0x24], ebx
je 0x1000def0
xor ecx, ecx
inc ecx
jmp 0x1000def2
mov ecx, ebx
xor eax, eax
cmp ecx, 0xfffa
setne al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0xbc], ebx
je 0x1000df1d
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], 1
dec dword [eax]
cmp dword [eax], 6
jne 0x1000de8a
lea ecx, [esp + 0xec]
call fcn.10006b72
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov ecx, dword [esp + 0x22c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret