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

Disassembly:
push 0xffffffffffffffff
push 0x1017b570
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov esi, dword [esp + 0x130]
xor ebx, ebx
mov dword [esp + 0x80], ebx
mov edi, 0xf
mov dword [esp + 0x90], ebp
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov byte [esp + 0x98], bl
mov dword [esp + 0x110], 1
mov ecx, ecx
fld qword [0x10181880]
fld qword [esp + 0x134]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x10091eda
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x10091edc
cmp dword [esp + 0x13c], 3
ja 0x10091e97
mov eax, eax
mov al, al
mov dword [esp + 0x14], ebx
push eax
pop eax
mov ebp, ebp
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x13c]
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x13c]
push edx
mov edx, dword [esp + 0x13c]
push eax
mov eax, dword [esp + 0x13c]
push edx
push eax
push ecx
call fcn.10058280
add esp, 0x28
test eax, eax
jne 0x10090fa4
lea ecx, [esp + 0x94]
push ecx
mov ecx, ebp
call fcn.1000a290
mov dword [esp + 0x80], 1
mov byte [esp + 0x110], bl
lea ecx, [esp + 0x94]
call fcn.10006700
jmp 0x10091f3b
fld1
fsub qword [esp + 0x134]
fnstcw word [esp + 0x48]
fmul qword [0x10181830]
movzx eax, word [esp + 0x48]
or eax, 0xc00
mov dword [esp + 0xf0], eax
fldcw word [esp + 0xf0]
fistp qword [esp + 0xf0]
mov edx, dword [esp + 0xf0]
mov dword [esp + 0xfc], edx
fldcw word [esp + 0x48]
mov al, al
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x110], 2
mov ch, ch
mov dh, dh
lea ecx, [esp + 0x34]
call fcn.1010c8ec
mov byte [esp + 0x110], 3
nop
push ebx
lea eax, [esp + 0x38]
push eax
push 0x101814a4
push esi
call fcn.1005eb40
add esp, 0x10
mov edi, eax
mov ecx, ecx
xor esi, esi
cmp edi, ebx
jle 0x10091115
mov bl, 0x64
jmp 0x10091040
push eax
pop eax
mov byte [esp + 0xf0], 0x25
mov byte [esp + 0xf1], bl
mov byte [esp + 0xf2], 0x7c
mov byte [esp + 0xf3], 0x25
mov byte [esp + 0xf4], bl
mov byte [esp + 0xf5], 0x7c
mov byte [esp + 0xf6], 0x25
mov byte [esp + 0xf7], bl
mov byte [esp + 0xf8], 0
push ebx
pop ebx
test esi, esi
jl 0x1009116c
cmp esi, dword [esp + 0x3c]
jge 0x1009116c
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + esi*4]
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0xfc]
push ecx
push eax
call fcn.10119c85
add esp, 0x14
mov ebp, ebp
cmp dword [esp + 0x8c], 0
je 0x100910e6
mov dword [esp + 0x8c], 0
mov edx, edx
jmp 0x100910f3
mov dword [esp + 0x8c], 1
mov edi, edi
lea edx, [esp + 0x84]
push edx
lea ecx, [esp + 0x28]
call fcn.100e7c20
push eax
pop eax
add esi, 1
cmp esi, edi
jl 0x10091040
xor ebx, ebx
cmp edi, ebx
jne 0x10091171
lea eax, [esp + 0x94]
push eax
mov ecx, ebp
call fcn.1000a290
mov dword [esp + 0x80], 1
mov byte [esp + 0x110], 2
lea ecx, [esp + 0x34]
call fcn.1010cc34
mov byte [esp + 0x110], 1
lea ecx, [esp + 0x24]
call fcn.1000d5f0
mov byte [esp + 0x110], 0
lea ecx, [esp + 0x94]
call fcn.10006700
jmp 0x10091f3b
jmp fcn.1010967c
push 0x2ee6
call fcn.10117399
mov edi, eax
add esp, 4
mov dword [esp + 0xf0], edi
mov dh, dh
push 0x1772
call fcn.10117399
mov esi, eax
add esp, 4
mov dword [esp + 0x78], esi
push edx
pop edx
push 0x1772
call fcn.10117399
add esp, 4
mov dword [esp + 0x74], eax
nop
cmp edi, ebx
je 0x10091e68
cmp esi, ebx
je 0x10091e5d
cmp eax, ebx
je 0x10091e5d
push 0x2ee6
push ebx
push edi
call fcn.101183f0
add esp, 0xc
mov ebx, ebx
push 0x1772
push ebx
push esi
call fcn.101183f0
add esp, 0xc
mov eax, eax
mov ecx, dword [esp + 0x74]
push 0x1772
push ebx
push ecx
call fcn.101183f0
add esp, 0xc
mov bl, bl
mov eax, dword [esp + 0x13c]
cmp eax, ebx
jne 0x100914dd
xor edx, edx
cmp dword [esp + 0x54], ebx
mov dword [esp + 0x48], edx
jle 0x10091d4e
mov eax, dword [esp + 0x50]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x7c], ecx
jle 0x100914c7
mov eax, edx
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + ecx*4]
mov ebx, ebx
mov byte [eax + 3], 0
nop
mov esi, dword [esp + 0x54]
mov eax, dword [eax]
push esi
mov esi, dword [esp + 0x54]
push esi
mov esi, dword [esp + 0x104]
push edx
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1006a640
add esp, 0x20
test eax, eax
je 0x100914ac
xor eax, eax
mov byte [esp + 0xb0], 0
mov dword [esp + 0xb1], eax
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov word [esp + 0xcd], ax
mov byte [esp + 0xcf], al
mov ecx, ecx
mov byte [esp + 0xd0], al
mov dword [esp + 0xd1], eax
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 word [esp + 0xed], ax
mov byte [esp + 0xef], al
mov edi, edi
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
lea edi, [eax + edx]
mov esi, esi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
lea ebp, [edx + ecx]
mov ebp, ebp
mov eax, dword [esp + 0x78]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091330
sub eax, ecx
mov esi, eax
mov bh, bh
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091346
sub eax, edx
mov ebx, eax
mov ebp, ebp
push edi
lea eax, [esp + 0xb4]
push 0x10181588
push eax
call fcn.101191d0
add esp, 0xc
mov al, al
push ebp
lea ecx, [esp + 0xd4]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov dl, dl
test esi, esi
lea eax, [esp + 0xb0]
jne 0x100913a8
mov edx, dword [esp + 0x78]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10091398
mov eax, eax
jmp 0x1009141c
lea edx, [eax + 1]
jmp 0x100913b0
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100913b0
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1009141c
mov ebp, dword [esp + 0x78]
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100913d0
mov dx, word [0x101814a4]
mov word [edi], dx
mov al, al
lea eax, [esp + 0xb0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100913f0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091402
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 + 0xd0]
jne 0x10091440
mov edx, dword [esp + 0x74]
mov ecx, eax
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10091430
mov ch, ch
jmp 0x100914ac
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091443
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x100914ac
mov ebx, dword [esp + 0x74]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091460
mov dx, word [0x101814a4]
mov word [edi], dx
mov ebp, ebp
lea eax, [esp + 0xd0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091480
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091492
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 esi, esi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x7c], ecx
jl 0x10091230
add edx, 1
cmp edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
jl 0x10091222
jmp 0x10091d4e
cmp eax, 1
jne 0x100917b2
mov eax, dword [esp + 0x54]
add eax, 0xffffffff
cmp eax, ebx
mov dword [esp + 0x48], eax
jl 0x10091d4e
mov eax, dword [esp + 0x50]
lea ecx, [ecx]
xor edi, edi
test eax, eax
mov dword [esp + 0x7c], edi
jle 0x100917a2
mov edi, edi
mov ebp, dword [esp + 0x48]
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov dh, dh
mov byte [eax + 3], 0
mov esi, esi
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
mov esi, dword [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1006a640
add esp, 0x20
test eax, eax
je 0x1009178b
xor eax, eax
mov byte [esp + 0xd0], 0
mov dword [esp + 0xd1], eax
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 word [esp + 0xed], ax
mov byte [esp + 0xef], al
mov edx, edx
mov byte [esp + 0xb0], al
mov dword [esp + 0xb1], eax
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov word [esp + 0xcd], ax
mov byte [esp + 0xcf], al
mov esi, esi
mov edx, dword [esp + 0x20]
add edi, edx
mov edi, edi
mov eax, dword [esp + 0x1c]
add ebp, eax
mov dh, dh
mov eax, dword [esp + 0x78]
lea ecx, [eax + 1]
jmp 0x10091610
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091610
sub eax, ecx
mov esi, eax
mov bl, bl
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091626
sub eax, edx
mov ebx, eax
mov esi, esi
push edi
lea ecx, [esp + 0xd4]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov dh, dh
push ebp
lea edx, [esp + 0xb4]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
push edx
pop edx
test esi, esi
lea eax, [esp + 0xd0]
jne 0x10091688
mov edx, dword [esp + 0x78]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10091678
xchg ebx, eax
xchg ebx, eax
jmp 0x100916fc
lea edx, [eax + 1]
jmp 0x10091690
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091690
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100916fc
mov ebp, dword [esp + 0x78]
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100916b0
mov dx, word [0x101814a4]
mov word [edi], dx
mov dh, dh
lea eax, [esp + 0xd0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100916d0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100916e2
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 eax
pop eax
test ebx, ebx
lea eax, [esp + 0xb0]
jne 0x10091720
mov edx, dword [esp + 0x74]
mov ecx, eax
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10091710
mov dl, dl
jmp 0x1009178b
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091723
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x1009178b
mov ebx, dword [esp + 0x74]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091740
mov dx, word [0x101814a4]
mov word [edi], dx
mov bl, bl
lea eax, [esp + 0xb0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091760
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091772
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]
nop
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x50]
add edi, 1
cmp edi, eax
mov dword [esp + 0x7c], edi
jl 0x10091510
sub dword [esp + 0x48], 1
jns 0x10091500
jmp 0x10091d4e
cmp eax, 2
jne 0x10091a87
xor ecx, ecx
cmp dword [esp + 0x54], ebx
mov dword [esp + 0x48], ecx
jle 0x10091d4e
jmp 0x100917d0
mov edx, dword [esp + 0x50]
add edx, 0xffffffff
mov dword [esp + 0x7c], edx
js 0x10091a71
mov eax, ecx
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edx*4]
mov edx, edx
mov byte [eax + 3], 0
push ecx
pop ecx
mov esi, dword [esp + 0x54]
mov eax, dword [eax]
push esi
mov esi, dword [esp + 0x54]
push esi
mov esi, dword [esp + 0x104]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1006a640
add esp, 0x20
test eax, eax
je 0x10091a5c
xor eax, eax
mov byte [esp + 0xd0], 0
mov dword [esp + 0xd1], eax
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 word [esp + 0xed], ax
mov byte [esp + 0xef], al
mov ebp, ebp
mov byte [esp + 0xb0], al
mov dword [esp + 0xb1], eax
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov word [esp + 0xcd], ax
mov byte [esp + 0xcf], al
mov ch, ch
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
lea edi, [eax + edx]
nop
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
lea ebp, [edx + ecx]
mov edi, edi
mov eax, dword [esp + 0x78]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100918e1
sub eax, ecx
mov esi, eax
mov ah, ah
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100918f7
sub eax, edx
mov ebx, eax
mov edx, edx
push edi
lea eax, [esp + 0xd4]
push 0x10181588
push eax
call fcn.101191d0
add esp, 0xc
mov bh, bh
push ebp
lea ecx, [esp + 0xb4]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov ch, ch
test esi, esi
lea eax, [esp + 0xd0]
jne 0x10091960
mov edx, dword [esp + 0x78]
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x10091950
mov al, al
jmp 0x100919cc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091963
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100919cc
mov ebp, dword [esp + 0x78]
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091980
mov dx, word [0x101814a4]
mov word [edi], dx
push eax
pop eax
lea eax, [esp + 0xd0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100919a0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100919b2
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
test ebx, ebx
lea eax, [esp + 0xb0]
jne 0x100919f0
mov edx, dword [esp + 0x74]
mov ecx, eax
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x100919e0
push ecx
pop ecx
jmp 0x10091a5c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100919f3
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x10091a5c
mov ebx, dword [esp + 0x74]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091a10
mov dx, word [0x101814a4]
mov word [edi], dx
mov dh, dh
lea eax, [esp + 0xb0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091a30
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091a42
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 eax
pop eax
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x48]
sub edx, 1
mov dword [esp + 0x7c], edx
jns 0x100917e1
add ecx, 1
cmp ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
jl 0x100917d0
jmp 0x10091d4e
cmp eax, 3
jne 0x10091d4e
mov ebp, dword [esp + 0x54]
add ebp, 0xffffffff
mov dword [esp + 0x48], ebp
js 0x10091d4e
mov edi, dword [esp + 0x50]
add edi, 0xffffffff
mov dword [esp + 0x7c], edi
js 0x10091d41
mov eax, ebp
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + edi*4]
mov ch, ch
mov byte [eax + 3], 0
push ecx
pop ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
mov esi, dword [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ebp
push edi
push ecx
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.1006a640
add esp, 0x20
test eax, eax
je 0x10091d2c
xor eax, eax
mov byte [esp + 0xd0], 0
mov dword [esp + 0xd1], eax
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 word [esp + 0xed], ax
mov byte [esp + 0xef], al
mov bh, bh
mov byte [esp + 0xb0], al
mov dword [esp + 0xb1], eax
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov word [esp + 0xcd], ax
mov byte [esp + 0xcf], al
mov ebx, ebx
mov edx, dword [esp + 0x20]
add edi, edx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x1c]
add ebp, eax
mov ebp, ebp
mov eax, dword [esp + 0x78]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091bb0
sub eax, ecx
mov esi, eax
mov dl, dl
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091bc6
sub eax, edx
mov ebx, eax
mov eax, eax
push edi
lea ecx, [esp + 0xd4]
push 0x10181588
push ecx
call fcn.101191d0
add esp, 0xc
mov edx, edx
push ebp
lea edx, [esp + 0xb4]
push 0x10181588
push edx
call fcn.101191d0
add esp, 0xc
xchg ebx, eax
xchg ebx, eax
test esi, esi
lea eax, [esp + 0xd0]
jne 0x10091c28
mov edx, dword [esp + 0x78]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x10091c18
mov cl, cl
jmp 0x10091c9c
lea edx, [eax + 1]
jmp 0x10091c30
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091c30
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10091c9c
mov ebp, dword [esp + 0x78]
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091c50
mov dx, word [0x101814a4]
mov word [edi], dx
mov al, al
lea eax, [esp + 0xd0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091c70
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091c82
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 ecx
pop ecx
test ebx, ebx
lea eax, [esp + 0xb0]
jne 0x10091cc0
mov edx, dword [esp + 0x74]
mov ecx, eax
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x10091cb0
mov ch, ch
jmp 0x10091d2c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10091cc3
sub eax, edx
add eax, ebx
cmp eax, 0x1770
jae 0x10091d2c
mov ebx, dword [esp + 0x74]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10091ce0
mov dx, word [0x101814a4]
mov word [edi], dx
mov dh, dh
lea eax, [esp + 0xb0]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10091d00
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10091d12
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
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
sub edi, 1
mov dword [esp + 0x7c], edi
jns 0x10091ab2
sub ebp, 1
mov dword [esp + 0x48], ebp
jns 0x10091aa1
mov edi, dword [esp + 0x78]
cmp byte [edi], 0
je 0x10091dba
mov al, 0x73
mov byte [esp + 0xfc], 0x25
mov byte [esp + 0xfd], al
mov byte [esp + 0xfe], 0x7c
mov byte [esp + 0xff], 0x25
mov byte [esp + 0x100], al
mov byte [esp + 0x101], 0
mov ch, ch
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0xf0]
push eax
push edi
lea ecx, [esp + 0x104]
push ecx
push esi
call fcn.101191d0
add esp, 0x10
mov dh, dh
push esi
lea ecx, [esp + 0x98]
call fcn.1000d5c0
push ecx
pop ecx
jmp 0x10091dc3
mov ecx, ecx
mov esi, dword [esp + 0xf0]
push esi
call fcn.1011745c
add esp, 4
mov al, al
push edi
call fcn.1011745c
add esp, 4
mov bh, bh
mov edx, dword [esp + 0x74]
push edx
call fcn.1011745c
add esp, 4
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x14]
push eax
call fcn.1011745c
add esp, 4
mov dword [esp + 0x14], 0
mov edi, edi
mov esi, dword [esp + 0x90]
lea ecx, [esp + 0x94]
push ecx
mov ecx, esi
call fcn.1000a290
mov dword [esp + 0x80], 1
mov byte [esp + 0x110], 2
lea ecx, [esp + 0x34]
call fcn.1010cc34
mov byte [esp + 0x110], 1
lea ecx, [esp + 0x24]
call fcn.1000d5f0
mov byte [esp + 0x110], 0
lea ecx, [esp + 0x94]
call fcn.10006700
mov eax, esi
jmp 0x10091f3d
push edi
call fcn.1011745c
add esp, 4
mov ecx, ecx
cmp esi, ebx
je 0x10091e77
push esi
call fcn.1011745c
add esp, 4
mov cl, cl
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x10091e8a
push eax
call fcn.1011745c
add esp, 4
push edx
pop edx
lea edx, [esp + 0x94]
push edx
jmp 0x1009111f
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x9c]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
push eax
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0x80], 1
mov byte [esp + 0x110], 0
cmp dword [esp + 0xac], 0x10
jb 0x10091f25
mov ecx, dword [esp + 0x98]
push ecx
jmp 0x10091f1d
fstp st(0)
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x9c]
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x14], ebx
push edx
mov ecx, ebp
mov byte [ebp + 4], 0
call fcn.10009fb0
mov dword [esp + 0x80], 1
mov byte [esp + 0x110], 0
cmp dword [esp + 0xac], 0x10
jb 0x10091f25
mov eax, dword [esp + 0x98]
push eax
call fcn.1010959d
add esp, 4
mov byte [esp + 0x98], 0
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], edi
mov eax, ebp
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.10117937
add esp, 0x100
ret