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

Disassembly:
push 0xffffffffffffffff
push 0x10153e54
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
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 0x101597f0
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.1000a1e0
mov dword [esp + 0x138], 1
test eax, eax
fld qword [0x10159790]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x100834ed
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x100834ef
cmp dword [esp + 0x168], 3
ja 0x100834a3
test eax, 0x1e40
test bl, bl
mov dword [esp + 0x14], 0
mov esi, esi
mov ebx, ebx
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.1003cc50
add esp, 0x28
test eax, eax
jne 0x10082067
lea eax, [esp + 0xb8]
push eax
mov ecx, ebp
call fcn.1000a2b0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
lea ecx, [esp + 0xb8]
call fcn.10006710
jmp 0x10083555
fld1
fsub qword [esp + 0x160]
fnstcw word [esp + 0x44]
movzx eax, word [esp + 0x44]
fmul qword [0x10159740]
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]
test bl, bl
xor edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x138], 2
test dl, dl
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x138], 3
mov ch, ch
mov eax, eax
lea ecx, [esp + 0x60]
call fcn.100e610c
mov byte [esp + 0x138], 4
mov ch, ch
push edi
lea ecx, [esp + 0x64]
push ecx
push 0x101593b0
push esi
call fcn.100436a0
add esp, 0x10
mov edi, eax
test edx, edx
xor esi, esi
test edi, edi
jle 0x100821e7
jmp 0x10082110
mov eax, eax
mov dword [esp + 0x48], 0
test edx, edx
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 0x100822cc
cmp esi, dword [esp + 0x68]
jge 0x100822cc
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.100f6765
add esp, 0x10
mov edx, edx
movzx edx, byte [esp + 0x4a]
add edx, ebp
mov dword [esp + 0xd8], edx
mov cl, cl
movzx eax, byte [esp + 0x49]
add eax, ebp
mov dword [esp + 0xdc], eax
mov edx, edx
mov ecx, dword [esp + 0x48]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xe0], ecx
mov ebx, ebx
mov dword [esp + 0xe4], 0
mov dl, dl
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0x38]
call fcn.10068b70
test ebx, ebx
add esi, 1
cmp esi, edi
jl 0x10082110
lea ecx, [esp + 0x4c]
call fcn.100e610c
mov byte [esp + 0x138], 5
test bh, bh
xor esi, esi
push esi
lea eax, [esp + 0x50]
push eax
push 0x101593cc
push ebx
call fcn.100436a0
add esp, 0x10
mov dword [esp + 0x11c], eax
mov ebx, ebx
cmp eax, esi
mov dword [esp + 0x48], esi
jle 0x10082504
jmp 0x10082230
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
mov byte [esp + 0x138], 7
test eax, 0x58d0
lea ecx, [esp + 0x9c]
call fcn.100e610c
mov byte [esp + 0x138], 8
test edi, edi
mov eax, dword [esp + 0x48]
cmp eax, esi
jl 0x100822cc
cmp eax, dword [esp + 0x54]
jge 0x100822cc
mov ecx, dword [esp + 0x50]
mov edx, eax
mov eax, dword [ecx + edx*4]
push esi
lea ecx, [esp + 0xa0]
push ecx
push 0x101593b0
push eax
call fcn.100436a0
add esp, 0x10
mov edi, eax
test al, al
cmp edi, 3
jge 0x100822d1
mov byte [esp + 0x138], 7
lea ecx, [esp + 0x9c]
call fcn.100e6454
mov byte [esp + 0x138], 5
lea ecx, [esp + 0xf4]
call fcn.1005c5e0
jmp 0x100824ec
jmp fcn.100e2ea6
cmp dword [esp + 0xa4], esi
jle 0x100822cc
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
lea ecx, [esp + 0x104]
push ecx
push 0x101594b0
push eax
call fcn.100f6765
add esp, 0xc
test ebx, ebx
cmp dword [esp + 0xa4], 1
jle 0x100822cc
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + 4]
lea ecx, [esp + 0x108]
push ecx
push 0x101594b0
push eax
call fcn.100f6765
add esp, 0xc
mov dl, dl
mov esi, 2
cmp edi, esi
jle 0x100824af
xor ebx, ebx
test bh, bh
mov dword [esp + 0x44], ebx
test eax, eax
cmp esi, ebx
jl 0x100822cc
cmp esi, dword [esp + 0xa4]
jge 0x100822cc
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + esi*4]
test esi, esi
cmp byte [eax], 0x2d
jne 0x1008236b
mov dword [esp + 0xe4], 1
mov ebx, ebx
jmp 0x10082374
mov dword [esp + 0xe4], ebx
test ebx, ebx
cmp dword [esp + 0xe4], ebx
je 0x100823f0
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 dh, dh
cmp esi, dword [esp + 0xa4]
jge 0x100822cc
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.100f6765
add esp, 0x10
test edx, edx
jmp 0x10082459
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 ah, ah
cmp esi, dword [esp + 0xa4]
jge 0x100822cc
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.100f6765
add esp, 0x10
mov edi, edi
movzx edx, byte [esp + 0x46]
add edx, ebp
mov dword [esp + 0xd8], edx
push ecx
pop ecx
movzx eax, byte [esp + 0x45]
add eax, ebp
mov dword [esp + 0xdc], eax
test edi, edi
mov ecx, dword [esp + 0x44]
and ecx, 0xff
add ecx, ebp
mov dword [esp + 0xe0], ecx
test dl, dl
lea edx, [esp + 0xd4]
push edx
lea ecx, [esp + 0xf8]
call fcn.10068b70
mov edi, edi
add esi, 1
cmp esi, edi
jl 0x10082336
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x28]
call fcn.100814e0
push ebx
pop ebx
mov byte [esp + 0x138], 7
lea ecx, [esp + 0x9c]
call fcn.100e6454
mov byte [esp + 0x138], 5
lea ecx, [esp + 0xf4]
call fcn.1005c5e0
xor esi, esi
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, dword [esp + 0x11c]
mov dword [esp + 0x48], eax
jl 0x10082230
push 0x2ee6
call fcn.100f3e38
mov edi, eax
add esp, 4
mov dword [esp + 0x11c], edi
mov ch, ch
push 0x1772
call fcn.100f3e38
mov ebx, eax
add esp, 4
mov dword [esp + 0x114], ebx
test eax, eax
push 0x1772
call fcn.100f3e38
mov ebp, eax
add esp, 4
mov dword [esp + 0x124], ebp
test dh, dh
cmp edi, esi
je 0x10083388
cmp ebx, esi
je 0x1008337d
cmp ebp, esi
je 0x1008337d
push 0x2ee6
push esi
push edi
call fcn.100f4ed0
add esp, 0xc
test eax, 0x8c9
push 0x1772
push esi
push ebx
call fcn.100f4ed0
add esp, 0xc
test eax, eax
push 0x1772
push esi
push ebp
call fcn.100f4ed0
add esp, 0xc
mov dl, dl
mov eax, dword [esp + 0x168]
cmp eax, esi
jne 0x100828b1
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x48], esi
jle 0x100831b6
mov eax, dword [esp + 0x78]
jmp 0x100825c0
test eax, eax
mov dword [esp + 0x44], 0
jle 0x10082897
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]
test cl, cl
mov byte [eax + 3], 0
mov eax, eax
mov eax, dword [eax]
push eax
lea edi, [esp + 0x38]
call fcn.1004eda0
add esp, 4
test eax, eax
je 0x10082880
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.1004f5e0
add esp, 0x18
test eax, eax
je 0x10082880
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
test 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 ecx, ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x44]
lea edi, [edx + ecx]
mov dh, dh
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
lea ebp, [ecx + eax]
mov esi, esi
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100826f0
sub eax, ecx
mov esi, eax
test cl, cl
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082710
sub eax, edx
mov ebx, eax
mov eax, eax
push edi
lea edx, [esp + 0xf8]
push 0x101594b0
push edx
call fcn.100f5cb0
add esp, 0xc
test eax, 0x5949
push ebp
lea eax, [esp + 0xd8]
push 0x101594b0
push eax
call fcn.100f5cb0
add esp, 0xc
test dl, dl
test esi, esi
lea eax, [esp + 0xf4]
jne 0x10082778
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 0x10082768
test bh, bh
jmp 0x100827ec
lea edx, [eax + 1]
jmp 0x10082780
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082780
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100827ec
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100827a0
mov dx, word [0x101593cc]
mov word [edi], dx
mov ch, ch
lea eax, [esp + 0xf4]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100827c0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100827d2
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 ah, ah
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x10082812
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 0x10082802
mov al, al
jmp 0x10082880
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082815
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x10082880
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10082835
mov dx, word [0x101593cc]
mov word [edi], dx
test eax, eax
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082854
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10082866
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
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x44], ecx
jl 0x100825d0
mov ecx, dword [esp + 0x48]
add ecx, 1
cmp ecx, dword [esp + 0x7c]
mov dword [esp + 0x48], ecx
jl 0x100825c0
jmp 0x100831b6
cmp eax, 1
jne 0x10082bc5
mov eax, dword [esp + 0x7c]
add eax, 0xffffffff
cmp eax, esi
mov dword [esp + 0x48], eax
jl 0x100831b6
mov eax, dword [esp + 0x78]
jmp 0x100828e0
test eax, eax
mov dword [esp + 0x44], 0
jle 0x10082bb5
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]
test dh, dh
mov byte [eax + 3], 0
mov esi, esi
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.1004eda0
add esp, 4
test eax, eax
je 0x10082b9e
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.1004f5e0
add esp, 0x18
test eax, eax
je 0x10082b9e
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 bh, bh
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 ch, ch
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
test bh, bh
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
test ecx, ecx
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082a10
sub eax, ecx
mov esi, eax
test esi, esi
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082a30
sub eax, edx
mov ebx, eax
mov dl, dl
push edi
lea ecx, [esp + 0xf8]
push 0x101594b0
push ecx
call fcn.100f5cb0
add esp, 0xc
test bh, bh
push ebp
lea edx, [esp + 0xd8]
push 0x101594b0
push edx
call fcn.100f5cb0
add esp, 0xc
push edx
pop edx
test esi, esi
lea eax, [esp + 0xf4]
jne 0x10082a95
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 0x10082a85
mov bh, bh
jmp 0x10082b0a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082a98
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10082b0a
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10082ab8
mov dx, word [0x101593cc]
mov word [edi], dx
test dh, dh
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082ad7
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 0x10082af0
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]
test edx, edx
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x10082b30
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 0x10082b20
mov bh, bh
jmp 0x10082b9e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082b33
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x10082b9e
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10082b53
mov dx, word [0x101593cc]
mov word [edi], dx
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082b72
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10082b84
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]
test ah, ah
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x78]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x44], ecx
jl 0x100828f0
sub dword [esp + 0x48], 1
jns 0x100828e0
jmp 0x100831b6
cmp eax, 2
jne 0x10082ec3
cmp dword [esp + 0x7c], esi
mov dword [esp + 0x48], esi
jle 0x100831b6
lea esp, [esp]
mov eax, dword [esp + 0x78]
add eax, 0xffffffff
mov dword [esp + 0x44], eax
js 0x10082ea9
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 edx, edx
mov byte [eax + 3], 0
test eax, eax
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.1004eda0
add esp, 4
test eax, eax
je 0x10082e9e
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.1004f5e0
add esp, 0x18
test eax, eax
je 0x10082e9e
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 ah, ah
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
test al, al
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
test eax, 0x5c2f
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
push ecx
pop ecx
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082d12
sub eax, ecx
mov esi, eax
mov ah, ah
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
jmp 0x10082d30
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082d30
sub eax, edx
mov ebx, eax
mov al, al
push edi
lea ecx, [esp + 0xf8]
push 0x101594b0
push ecx
call fcn.100f5cb0
add esp, 0xc
test dl, dl
push ebp
lea edx, [esp + 0xd8]
push 0x101594b0
push edx
call fcn.100f5cb0
add esp, 0xc
test dh, dh
test esi, esi
lea eax, [esp + 0xf4]
jne 0x10082d95
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 0x10082d85
mov bl, bl
jmp 0x10082e0a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082d98
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10082e0a
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10082db8
mov dx, word [0x101593cc]
mov word [edi], dx
test edx, edx
lea eax, [esp + 0xf4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082dd7
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 0x10082df0
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 bl, bl
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x10082e30
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 0x10082e20
push edx
pop edx
jmp 0x10082e9e
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10082e33
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x10082e9e
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10082e53
mov dx, word [0x101593cc]
mov word [edi], dx
test esi, esi
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10082e72
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10082e84
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 edi, edi
sub dword [esp + 0x44], 1
jns 0x10082bf1
mov eax, dword [esp + 0x48]
add eax, 1
cmp eax, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
jl 0x10082be0
jmp 0x100831b6
cmp eax, 3
jne 0x100831b6
mov eax, dword [esp + 0x7c]
add eax, 0xffffffff
mov dword [esp + 0x48], eax
js 0x100831b6
lea ecx, [ecx]
mov eax, dword [esp + 0x78]
add eax, 0xffffffff
mov dword [esp + 0x44], eax
js 0x100831ab
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
test al, al
mov edx, dword [eax]
push edx
lea edi, [esp + 0x38]
call fcn.1004eda0
add esp, 4
test eax, eax
je 0x100831a0
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.1004f5e0
add esp, 0x18
test eax, eax
je 0x100831a0
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 edx, edx
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 ch, ch
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea edi, [ecx + eax]
test bh, bh
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
lea ebp, [eax + edx]
mov dl, dl
mov eax, dword [esp + 0x114]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10083010
sub eax, ecx
mov esi, eax
test eax, 0x46eb
mov eax, dword [esp + 0x124]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10083030
sub eax, edx
mov ebx, eax
mov ch, ch
push edi
lea ecx, [esp + 0xf8]
push 0x101594b0
push ecx
call fcn.100f5cb0
add esp, 0xc
mov bh, bh
push ebp
lea edx, [esp + 0xd8]
push 0x101594b0
push edx
call fcn.100f5cb0
add esp, 0xc
test ch, ch
test esi, esi
lea eax, [esp + 0xf4]
jne 0x10083098
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 0x10083085
test eax, 0x2a4f
jmp 0x1008310c
lea edx, [eax + 1]
jmp 0x100830a0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100830a0
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1008310c
mov ebp, dword [esp + 0x114]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100830c0
mov dx, word [0x101593cc]
mov word [edi], dx
test cl, cl
lea eax, [esp + 0xf4]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100830e0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100830f2
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]
test bl, bl
test ebx, ebx
lea eax, [esp + 0xd4]
jne 0x10083132
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 0x10083122
mov ah, ah
jmp 0x100831a0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10083135
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x100831a0
mov ebx, dword [esp + 0x124]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10083155
mov dx, word [0x101593cc]
mov word [edi], dx
test al, al
lea eax, [esp + 0xd4]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10083174
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10083186
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
sub dword [esp + 0x44], 1
jns 0x10082ef1
sub dword [esp + 0x48], 1
jns 0x10082ee0
mov edi, dword [esp + 0x114]
cmp byte [edi], 0
je 0x1008323d
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 edx, edx
mov eax, dword [esp + 0x124]
mov esi, dword [esp + 0x11c]
push eax
push edi
lea ecx, [esp + 0x11c]
push ecx
push esi
call fcn.100f5cb0
add esp, 0x10
mov edx, edx
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10083220
sub eax, edx
push eax
push esi
lea ecx, [esp + 0xc0]
call fcn.1000a1e0
mov bh, bh
jmp 0x10083246
test ah, ah
mov esi, dword [esp + 0x11c]
push esi
call fcn.100f3efb
add esp, 4
mov dl, dl
push edi
call fcn.100f3efb
add esp, 4
mov eax, eax
mov edx, dword [esp + 0x124]
push edx
call fcn.100f3efb
add esp, 4
test eax, eax
mov eax, dword [esp + 0x14]
push eax
call fcn.100f3efb
xor edi, edi
add esp, 4
mov dword [esp + 0x14], edi
test dl, dl
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.10009fd0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 4
lea ecx, [esp + 0x4c]
call fcn.100e6454
mov byte [esp + 0x138], 3
lea ecx, [esp + 0x60]
call fcn.100e6454
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x1008330d
mov edx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x28]
push ecx
push edx
push eax
call fcn.1007e8a0
mov eax, dword [esp + 0x38]
push eax
call fcn.100e2dad
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 0x10083332
push eax
call fcn.100e2dad
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 0x10083360
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.100e2dad
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], edi
mov byte [esp + 0xbc], 0
mov eax, esi
jmp 0x10083557
push edi
call fcn.100f3efb
add esp, 4
test cl, cl
cmp ebx, esi
je 0x1008339a
push ebx
call fcn.100f3efb
add esp, 4
test eax, 0x423e
cmp ebp, esi
je 0x100833a9
push ebp
call fcn.100f3efb
add esp, 4
test edi, edi
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.10009fd0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 4
lea ecx, [esp + 0x4c]
call fcn.100e6454
mov byte [esp + 0x138], 3
lea ecx, [esp + 0x60]
call fcn.100e6454
mov byte [esp + 0x138], 2
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x10083433
mov ecx, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x28]
push edx
push ecx
push eax
call fcn.1007e8a0
mov edx, dword [esp + 0x38]
push edx
call fcn.100e2dad
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 0x10083458
push eax
call fcn.100e2dad
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 0x10083486
mov eax, dword [esp + 0xbc]
push eax
call fcn.100e2dad
add esp, 4
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xcc], esi
mov byte [esp + 0xbc], 0
mov eax, edi
jmp 0x10083557
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.10009fd0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1008353f
mov edx, dword [esp + 0xbc]
push edx
jmp 0x10083537
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.10009fd0
mov dword [esp + 0xb0], 1
mov byte [esp + 0x138], 0
cmp dword [esp + 0xd0], 0x10
jb 0x1008353f
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.100e2dad
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.100f43d6
add esp, 0x128
ret