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

Disassembly:
push 0xffffffffffffffff
push 0x1017ba94
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x140]
mov edi, dword [esp + 0x144]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
xor eax, eax
mov dword [esp + 0xb0], eax
push eax
push 0x101818e0
lea ecx, [esp + 0xc0]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xd8], 0xf
mov dword [esp + 0xd4], eax
mov byte [esp + 0xc4], al
call fcn.1000a1c0
mov dword [esp + 0x138], 1
mov bl, bl
fld qword [0x10181880]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1009e14a
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1009e14c
cmp dword [esp + 0x168], 3
ja 0x1009e100
mov ecx, ecx
mov edi, edi
mov dword [esp + 0x14], 0
push eax
pop eax
nop
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x160]
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x160]
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push edx
push edi
call fcn.10058280
add esp, 0x28
test eax, eax
jne 0x1009cce3
lea eax, [esp + 0xb8]
push eax
mov ecx, ebp
call fcn.1000a290
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
lea ecx, [esp + 0xb8]
call fcn.10006700
jmp 0x1009e1b2
fld1
fsub qword [esp + 0x160]
fnstcw word [esp + 0x44]
movzx eax, word [esp + 0x44]
fmul qword [0x10181830]
or eax, 0xc00
mov dword [esp + 0x11c], eax
fldcw word [esp + 0x11c]
fistp qword [esp + 0x11c]
mov ebp, dword [esp + 0x11c]
fldcw word [esp + 0x44]
mov ebx, ebx
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x138], 2
push edx
pop edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x138], 3
mov cl, cl
mov ah, ah
lea ecx, [esp + 0x60]
call fcn.1010c8ec
mov byte [esp + 0x138], 4
nop
push edi
lea ecx, [esp + 0x64]
push ecx
push 0x10181488
push esi
call fcn.1005eb40
add esp, 0x10
mov edi, eax
mov al, al
xor esi, esi
test edi, edi
jle 0x1009ce5d
mov ah, ah
mov dword [esp + 0x48], 0
mov dl, dl
mov byte [esp + 0x11c], 0x25
mov byte [esp + 0x11d], 0x78
mov byte [esp + 0x11e], 0x2d
mov byte [esp + 0x11f], 0x25
mov byte [esp + 0x120], 0x78
mov byte [esp + 0x121], 0
mov ch, ch
test esi, esi
jl 0x1009cf39
cmp esi, dword [esp + 0x68]
jge 0x1009cf39
mov edx, dword [esp + 0x64]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x124]
push ecx
push eax
call fcn.10119c85
add esp, 0x10
mov bl, bl
movzx edx, byte [esp + 0x4a]
add edx, ebp
mov dword [esp + 0xd8], edx
mov al, al
movzx eax, byte [esp + 0x49]
add eax, ebp
mov dword [esp + 0xdc], eax
mov al, al
mov ecx, dword [esp + 0x48]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xe0], ecx
push eax
pop eax
mov dword [esp + 0xe4], 0
push ecx
pop ecx
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0x38]
call fcn.1007d8e0
mov esi, esi
add esi, 1
cmp esi, edi
jl 0x1009cd86
lea ecx, [esp + 0x4c]
call fcn.1010c8ec
mov byte [esp + 0x138], 5
push eax
pop eax
xor esi, esi
push esi
lea eax, [esp + 0x50]
push eax
push 0x101814a4
push ebx
call fcn.1005eb40
add esp, 0x10
mov dword [esp + 0x11c], eax
mov dh, dh
cmp eax, esi
mov dword [esp + 0x48], esi
jle 0x1009d171
jmp 0x1009cea0
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
mov byte [esp + 0x138], 7
mov ebp, ebp
lea ecx, [esp + 0x9c]
call fcn.1010c8ec
mov byte [esp + 0x138], 8
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x48]
cmp eax, esi
jl 0x1009cf39
cmp eax, dword [esp + 0x54]
jge 0x1009cf39
mov ecx, dword [esp + 0x50]
mov edx, eax
mov eax, dword [ecx + edx*4]
push esi
lea ecx, [esp + 0xa0]
push ecx
push 0x10181488
push eax
call fcn.1005eb40
add esp, 0x10
mov edi, eax
mov bh, bh
cmp edi, 3
jge 0x1009cf3e
mov byte [esp + 0x138], 7
lea ecx, [esp + 0x9c]
call fcn.1010cc34
mov byte [esp + 0x138], 5
lea ecx, [esp + 0xf4]
call fcn.10072010
jmp 0x1009d159
jmp fcn.1010967c
cmp dword [esp + 0xa4], esi
jle 0x1009cf39
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
lea ecx, [esp + 0x104]
push ecx
push 0x10181588
push eax
call fcn.10119c85
add esp, 0xc
mov bl, bl
cmp dword [esp + 0xa4], 1
jle 0x1009cf39
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x108]
push ecx
push 0x10181588
push eax
call fcn.10119c85
add esp, 0xc
mov edi, edi
mov esi, 2
cmp edi, esi
jle 0x1009d11c
xor ebx, ebx
mov ah, ah
mov dword [esp + 0x44], ebx
mov edi, edi
cmp esi, ebx
jl 0x1009cf39
cmp esi, dword [esp + 0xa4]
jge 0x1009cf39
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + esi*4]
mov ch, ch
cmp byte [eax], 0x2d
jne 0x1009cfd8
mov dword [esp + 0xe4], 1
mov bh, bh
jmp 0x1009cfe1
mov dword [esp + 0xe4], ebx
mov edi, edi
cmp dword [esp + 0xe4], ebx
je 0x1009d05d
mov byte [esp + 0x124], 0x2d
mov byte [esp + 0x125], 0x25
mov byte [esp + 0x126], 0x78
mov byte [esp + 0x127], 0x2d
mov byte [esp + 0x128], 0x25
mov byte [esp + 0x129], 0x78
mov byte [esp + 0x12a], 0
mov edi, edi
cmp esi, dword [esp + 0xa4]
jge 0x1009cf39
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + esi*4]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x12c]
push ecx
push eax
call fcn.10119c85
add esp, 0x10
push ecx
pop ecx
jmp 0x1009d0c6
mov byte [esp + 0x114], 0x25
mov byte [esp + 0x115], 0x78
mov byte [esp + 0x116], 0x2d
mov byte [esp + 0x117], 0x25
mov byte [esp + 0x118], 0x78
mov byte [esp + 0x119], 0
mov eax, eax
cmp esi, dword [esp + 0xa4]
jge 0x1009cf39
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xd8]
push edx
lea ecx, [esp + 0x11c]
push ecx
push eax
call fcn.10119c85
add esp, 0x10
mov cl, cl
movzx edx, byte [esp + 0x46]
add edx, ebp
mov dword [esp + 0xd8], edx
mov bl, bl
movzx eax, byte [esp + 0x45]
add eax, ebp
mov dword [esp + 0xdc], eax
push ecx
pop ecx
mov ecx, dword [esp + 0x44]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xe0], ecx
push edx
pop edx
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0xf8]
call fcn.1007d8e0
mov bh, bh
add esi, 1
cmp esi, edi
jl 0x1009cfa3
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x28]
call fcn.1009c160
xchg ebx, eax
xchg ebx, eax
mov byte [esp + 0x138], 7
lea ecx, [esp + 0x9c]
call fcn.1010cc34
mov byte [esp + 0x138], 5
lea ecx, [esp + 0xf4]
call fcn.10072010
xor esi, esi
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, dword [esp + 0x11c]
mov dword [esp + 0x48], eax
jl 0x1009cea0
push 0x2ee6
call fcn.10117399
mov edi, eax
add esp, 4
mov dword [esp + 0x11c], edi
push ecx
pop ecx
push 0x1772
call fcn.10117399
mov ebx, eax
add esp, 4
mov dword [esp + 0x114], ebx
mov ah, ah
push 0x1772
call fcn.10117399
mov ebp, eax
add esp, 4
mov dword [esp + 0x124], ebp
mov cl, cl
cmp edi, esi
je 0x1009dfe8
cmp ebx, esi
je 0x1009dfdd
cmp ebp, esi
je 0x1009dfdd
push 0x2ee6
push esi
push edi
call fcn.101183f0
add esp, 0xc
mov cl, cl
push 0x1772
push esi
push ebx
call fcn.101183f0
add esp, 0xc
mov dh, dh
push 0x1772
push esi
push ebp
call fcn.101183f0
add esp, 0xc
mov al, al
mov eax, dword [esp + 0x168]
cmp eax, esi
jne 0x1009d51d
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x48], esi
jle 0x1009de14
mov eax, dword [esp + 0x78]
jmp 0x1009d230
test eax, eax
mov dword [esp + 0x44], 0
jle 0x1009d503
mov ecx, dword [esp + 0x48]
imul ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
lea eax, [ecx + edx*4]
push edx
pop edx
mov byte [eax + 3], 0
mov esi, esi
mov eax, dword [eax]
push eax
lea edi, [esp + 0x38]
call fcn.10069d60
add esp, 4
test eax, eax
je 0x1009d4ec
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
lea edi, [esp + 0x3c]
call fcn.1006a590
add esp, 0x18
test eax, eax
je 0x1009d4ec
xor eax, eax
mov byte [esp + 0xf4], 0
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov ch, ch
mov byte [esp + 0xd4], al
mov dword [esp + 0xd5], eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov dword [esp + 0xe9], eax
mov dword [esp + 0xed], eax
mov word [esp + 0xf1], ax
mov byte [esp + 0xf3], al
mov cl, cl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
lea edi, [edx + ecx]
mov ah, ah
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
lea ebp, [ecx + eax]
push edx
pop edx
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d360
sub eax, ecx
mov esi, eax
mov al, al
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d380
sub eax, edx
mov ebx, eax
nop
push edi
lea edx, [esp + 0xf8]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
mov cl, cl
push ebp
lea eax, [esp + 0xd8]
push 0x10181588
push eax
call fcn.101191d0
add esp, 0xc
mov edx, edx
test esi, esi
lea eax, [esp + 0xf4]
jne 0x1009d3e4
mov edx, dword [esp + 0x114]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009d3d4
mov eax, eax
jmp 0x1009d452
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d3e7
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1009d452
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009d407
mov dx, word [0x101814a4]
mov word [edi], dx
push edx
pop edx
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d426
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009d438
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, eax
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x1009d478
mov edx, dword [esp + 0x124]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009d468
mov dl, dl
jmp 0x1009d4ec
lea edx, [eax + 1]
jmp 0x1009d480
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d480
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x1009d4ec
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009d4a0
mov dx, word [0x101814a4]
mov word [edi], dx
push ecx
pop ecx
lea eax, [esp + 0xd4]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d4c0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009d4d2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, edx
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x44], ecx
jl 0x1009d240
mov ecx, dword [esp + 0x48]
add ecx, 1
cmp ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], ecx
jl 0x1009d230
jmp 0x1009de14
cmp eax, 1
jne 0x1009d825
mov eax, dword [esp + 0x7c]
add eax, 0xffffffff
cmp eax, esi
mov dword [esp + 0x48], eax
jl 0x1009de14
mov eax, dword [esp + 0x78]
lea ecx, [ecx]
test eax, eax
mov dword [esp + 0x44], 0
jle 0x1009d815
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
lea eax, [eax + ecx*4]
mov edi, edi
mov byte [eax + 3], 0
mov edi, edi
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.10069d60
add esp, 4
test eax, eax
je 0x1009d7fe
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
lea edi, [esp + 0x3c]
call fcn.1006a590
add esp, 0x18
test eax, eax
je 0x1009d7fe
xor eax, eax
mov byte [esp + 0xf4], 0
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov ch, ch
mov byte [esp + 0xd4], al
mov dword [esp + 0xd5], eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov dword [esp + 0xe9], eax
mov dword [esp + 0xed], eax
mov word [esp + 0xf1], ax
mov byte [esp + 0xf3], al
mov edx, edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
mov al, al
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
push edx
pop edx
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d670
sub eax, ecx
mov esi, eax
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d690
sub eax, edx
mov ebx, eax
mov ecx, ecx
push edi
lea ecx, [esp + 0xf8]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
push eax
pop eax
push ebp
lea edx, [esp + 0xd8]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
mov cl, cl
test esi, esi
lea eax, [esp + 0xf4]
jne 0x1009d6f5
mov edx, dword [esp + 0x114]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009d6e5
mov ebp, ebp
jmp 0x1009d76a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d6f8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1009d76a
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009d718
mov dx, word [0x101814a4]
mov word [edi], dx
mov ecx, ecx
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d737
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009d750
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov bh, bh
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x1009d790
mov edx, dword [esp + 0x124]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009d780
mov edi, edi
jmp 0x1009d7fe
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d793
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x1009d7fe
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009d7b3
mov dx, word [0x101814a4]
mov word [edi], dx
mov ecx, ecx
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d7d2
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009d7e4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov bh, bh
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x44], ecx
jl 0x1009d550
sub dword [esp + 0x48], 1
jns 0x1009d540
jmp 0x1009de14
cmp eax, 2
jne 0x1009db23
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x48], esi
jle 0x1009de14
lea esp, [esp]
mov eax, dword [esp + 0x78]
add eax, 0xffffffff
mov dword [esp + 0x44], eax
js 0x1009db09
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
lea eax, [eax + ecx*4]
push eax
pop eax
mov byte [eax + 3], 0
mov dl, dl
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.10069d60
add esp, 4
test eax, eax
je 0x1009dafe
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
lea edi, [esp + 0x3c]
call fcn.1006a590
add esp, 0x18
test eax, eax
je 0x1009dafe
xor eax, eax
mov byte [esp + 0xf4], 0
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov dl, dl
mov byte [esp + 0xd4], al
mov dword [esp + 0xd5], eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov dword [esp + 0xe9], eax
mov dword [esp + 0xed], eax
mov word [esp + 0xf1], ax
mov byte [esp + 0xf3], al
mov eax, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
push ebx
pop ebx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
nop
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009d970
sub eax, ecx
mov esi, eax
push edx
pop edx
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d990
sub eax, edx
mov ebx, eax
mov bl, bl
push edi
lea ecx, [esp + 0xf8]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov bl, bl
push ebp
lea edx, [esp + 0xd8]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
push eax
pop eax
test esi, esi
lea eax, [esp + 0xf4]
jne 0x1009d9f5
mov edx, dword [esp + 0x114]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009d9e5
push ecx
pop ecx
jmp 0x1009da6a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009d9f8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1009da6a
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009da18
mov dx, word [0x101814a4]
mov word [edi], dx
mov edi, edi
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009da37
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009da50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov bh, bh
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x1009da90
mov edx, dword [esp + 0x124]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009da80
mov eax, eax
jmp 0x1009dafe
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009da93
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x1009dafe
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009dab3
mov dx, word [0x101814a4]
mov word [edi], dx
mov esi, esi
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009dad2
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009dae4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, edx
sub dword [esp + 0x44], 1
jns 0x1009d851
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
jl 0x1009d840
jmp 0x1009de14
cmp eax, 3
jne 0x1009de14
mov eax, dword [esp + 0x7c]
add eax, 0xffffffff
mov dword [esp + 0x48], eax
js 0x1009de14
lea ecx, [ecx]
mov eax, dword [esp + 0x78]
add eax, 0xffffffff
mov dword [esp + 0x44], eax
js 0x1009de09
mov eax, dword [esp + 0x48]
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
lea eax, [eax + ecx*4]
mov ah, ah
mov byte [eax + 3], 0
mov ebp, ebp
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.10069d60
add esp, 4
test eax, eax
je 0x1009ddfe
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
push eax
push ecx
push edx
lea edi, [esp + 0x3c]
call fcn.1006a590
add esp, 0x18
test eax, eax
je 0x1009ddfe
xor eax, eax
mov byte [esp + 0xf4], 0
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov word [esp + 0x111], ax
mov byte [esp + 0x113], al
mov dl, dl
mov byte [esp + 0xd4], al
mov dword [esp + 0xd5], eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov dword [esp + 0xe9], eax
mov dword [esp + 0xed], eax
mov word [esp + 0xf1], ax
mov byte [esp + 0xf3], al
push edx
pop edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
mov al, al
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
mov ebx, ebx
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009dc70
sub eax, ecx
mov esi, eax
mov ah, ah
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009dc90
sub eax, edx
mov ebx, eax
mov dl, dl
push edi
lea ecx, [esp + 0xf8]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov ebp, ebp
push ebp
lea edx, [esp + 0xd8]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
mov ebx, ebx
test esi, esi
lea eax, [esp + 0xf4]
jne 0x1009dcf5
mov edx, dword [esp + 0x114]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009dce5
mov bh, bh
jmp 0x1009dd6a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009dcf8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1009dd6a
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009dd18
mov dx, word [0x101814a4]
mov word [edi], dx
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009dd37
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea esp, [esp]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009dd50
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
pop ebx
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x1009dd90
mov edx, dword [esp + 0x124]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1009dd80
push eax
pop eax
jmp 0x1009ddfe
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009dd93
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x1009ddfe
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1009ddb3
mov dx, word [0x101814a4]
mov word [edi], dx
mov bh, bh
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1009ddd2
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1009dde4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push edx
pop edx
sub dword [esp + 0x44], 1
jns 0x1009db51
sub dword [esp + 0x48], 1
jns 0x1009db40
mov edi, dword [esp + 0x114]
cmp byte [edi], 0
je 0x1009de9d
mov al, 0x73
mov byte [esp + 0x114], 0x25
mov byte [esp + 0x115], al
mov byte [esp + 0x116], 0x7c
mov byte [esp + 0x117], 0x25
mov byte [esp + 0x118], al
mov byte [esp + 0x119], 0
mov dh, dh
mov eax, dword [esp + 0x124]
mov esi, dword [esp + 0x11c]
push eax
push edi
lea ecx, [esp + 0x11c]
push ecx
push esi
call fcn.101191d0
add esp, 0x10
mov ebp, ebp
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1009de80
sub eax, edx
push eax
push esi
lea ecx, [esp + 0xc0]
call fcn.1000a1c0
push eax
pop eax
jmp 0x1009dea6
mov ebx, ebx
mov esi, dword [esp + 0x11c]
push esi
call fcn.1011745c
add esp, 4
mov bl, bl
push edi
call fcn.1011745c
add esp, 4
mov ah, ah
mov edx, dword [esp + 0x124]
push edx
call fcn.1011745c
add esp, 4
mov dh, dh
mov eax, dword [esp + 0x14]
push eax
call fcn.1011745c
xor edi, edi
add esp, 4
mov dword [esp + 0x14], edi
mov al, al
mov esi, dword [esp + 0xb4]
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0xc0]
mov ebx, 0xf
push ecx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], edi
mov ecx, esi
mov byte [esi + 4], 0
call fcn.10009fb0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 4
lea ecx, [esp + 0x4c]
call fcn.1010cc34
mov byte [esp + 0x138], 3
lea ecx, [esp + 0x60]
call fcn.1010cc34
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x1009df6d
mov edx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
call fcn.100961d0
mov eax, dword [esp + 0x38]
push eax
call fcn.1010959d
add esp, 0x14
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x138], 1
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x1009df92
push eax
call fcn.1010959d
add esp, 4
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1009dfc0
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.1010959d
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], edi
mov byte [esp + 0xbc], 0
mov eax, esi
jmp 0x1009e1b4
push edi
call fcn.1011745c
add esp, 4
push edx
pop edx
cmp ebx, esi
je 0x1009dff7
push ebx
call fcn.1011745c
add esp, 4
mov dl, dl
cmp ebp, esi
je 0x1009e006
push ebp
call fcn.1011745c
add esp, 4
xchg ebx, eax
xchg ebx, eax
mov edi, dword [esp + 0xb4]
push 0xffffffffffffffff
push esi
lea edx, [esp + 0xc0]
mov ebx, 0xf
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], esi
push edx
mov ecx, edi
mov byte [edi + 4], 0
call fcn.10009fb0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 4
lea ecx, [esp + 0x4c]
call fcn.1010cc34
mov byte [esp + 0x138], 3
lea ecx, [esp + 0x60]
call fcn.1010cc34
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x1009e090
mov ecx, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
push ecx
push eax
call fcn.100961d0
mov edx, dword [esp + 0x38]
push edx
call fcn.1010959d
add esp, 0x14
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov byte [esp + 0x138], 1
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x1009e0b5
push eax
call fcn.1010959d
add esp, 4
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1009e0e3
mov eax, dword [esp + 0xbc]
push eax
call fcn.1010959d
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], esi
mov byte [esp + 0xbc], 0
mov eax, edi
jmp 0x1009e1b4
push 0xffffffffffffffff
xor edi, edi
push edi
lea ecx, [esp + 0xc0]
mov esi, 0xf
push ecx
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], edi
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1009e19c
mov edx, dword [esp + 0xbc]
push edx
jmp 0x1009e194
fstp st(0)
push 0xffffffffffffffff
xor edi, edi
push edi
lea eax, [esp + 0xc0]
mov esi, 0xf
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], edi
push eax
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1009e19c
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.1010959d
add esp, 4
mov byte [esp + 0xbc], 0
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], esi
mov eax, ebp
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.10117937
add esp, 0x128
ret