Function at 0x10078830
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x10153836
mov eax, dword fs:[0]
push eax
sub esp, 0x140
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x13c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
xor eax, esp
push eax
lea eax, [esp + 0x154]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x17c]
xor ebp, ebp
mov dword [esp + 0x94], ebp
push ebp
push 0x101597f0
lea ecx, [esp + 0xec]
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebp
mov byte [esp + 0xf0], 0
call fcn.1000a1e0
mov dword [esp + 0x15c], 1
test eax, eax
fld qword [0x10159790]
fld qword [esp + 0x180]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x100797df
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x100797e1
cmp dword [esp + 0x188], ebp
jle 0x10079797
cmp dword [esp + 0x18c], ebp
jle 0x10079797
cmp dword [esp + 0x190], ebp
jle 0x10079797
mov eax, edi
call fcn.10045bd0
test eax, eax
je 0x10078ab1
mov al, 0x6f
mov byte [esp + 0x112], al
mov cl, 0x6c
mov byte [esp + 0x114], al
mov byte [esp + 0x118], al
mov al, 0xd6
mov byte [esp + 0x108], 0xd7
mov byte [esp + 0x109], 0xa2
mov byte [esp + 0x10a], 0xd2
mov byte [esp + 0x10b], 0xe2
mov byte [esp + 0x10c], 0x2c
mov byte [esp + 0x10d], 0x46
mov byte [esp + 0x10e], 0x69
mov byte [esp + 0x10f], 0x6e
mov byte [esp + 0x110], 0x64
mov byte [esp + 0x111], 0x43
mov byte [esp + 0x113], cl
mov byte [esp + 0x115], 0x72
mov byte [esp + 0x116], 0x42
mov byte [esp + 0x117], cl
mov byte [esp + 0x119], 0x63
mov byte [esp + 0x11a], 0x6b
mov byte [esp + 0x11b], 0x45
mov byte [esp + 0x11c], 0x78
mov byte [esp + 0x11d], 0xbd
mov byte [esp + 0x11e], 0xd3
mov byte [esp + 0x11f], 0xbf
mov byte [esp + 0x120], 0xda
mov byte [esp + 0x121], 0xb2
mov byte [esp + 0x122], 0xbb
mov byte [esp + 0x123], al
mov byte [esp + 0x124], 0xa7
mov byte [esp + 0x125], 0xb3
mov byte [esp + 0x126], al
mov byte [esp + 0x127], 0x48
mov byte [esp + 0x128], 0x53
mov byte [esp + 0x129], 0x56
mov byte [esp + 0x12a], 0xd1
mov byte [esp + 0x12b], 0xd5
mov byte [esp + 0x12c], 0xc9
mov byte [esp + 0x12d], 0xab
mov byte [esp + 0x12e], 0x21
mov byte [esp + 0x12f], 0
mov ecx, ecx
lea eax, [esp + 0x108]
push eax
push esi
call fcn.10036280
add esp, 8
test ecx, ecx
lea ecx, [esp + 0xe4]
push ecx
mov ecx, ebx
call fcn.1000a2b0
mov dword [esp + 0x94], 1
mov byte [esp + 0x15c], 0
lea ecx, [esp + 0xe4]
call fcn.10006710
jmp 0x10079845
mov ebp, ebp
mov ecx, ecx
mov dword [esp + 0x14], ebp
push ecx
pop ecx
test edx, edx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x184]
lea edx, [esp + 0x2c]
push edx
mov edx, dword [esp + 0x184]
lea eax, [esp + 0x7c]
push eax
mov eax, dword [esp + 0x184]
push ecx
mov ecx, dword [esp + 0x184]
push edx
push eax
push ecx
push esi
call fcn.1003cc50
add esp, 0x28
test eax, eax
jne 0x10078b10
lea edx, [esp + 0xe4]
push edx
jmp 0x10078a86
mov eax, dword [esp + 0x18c]
cmp dword [esp + 0x70], eax
jl 0x1007977f
mov ecx, dword [esp + 0x190]
cmp dword [esp + 0x74], ecx
jl 0x1007977f
fld1
fsub qword [esp + 0x180]
fnstcw word [esp + 0x64]
movzx eax, word [esp + 0x64]
fmul qword [0x10159740]
or eax, 0xc00
mov dword [esp + 0xac], eax
fldcw word [esp + 0xac]
fistp qword [esp + 0x100]
mov ebx, dword [esp + 0x100]
fldcw word [esp + 0x64]
mov ebp, ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov byte [esp + 0x15c], 2
mov ah, ah
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebp
mov byte [esp + 0x15c], 3
mov ebx, ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov byte [esp + 0x15c], 4
test cl, cl
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x15c], 5
mov ebp, ebp
test esi, esi
mov dword [esp + 0xa4], ebp
test cl, cl
mov dword [esp + 0xb0], 1
test bh, bh
cmp edi, ebp
je 0x10078d53
cmp byte [edi], 0x40
jne 0x10078c00
add edi, 1
mov cl, cl
mov dword [esp + 0xb0], 0
mov ah, ah
test edi, edi
je 0x10078d53
xor eax, eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x68], eax
test bh, bh
mov dword [esp + 0x64], eax
test edx, edx
mov byte [esp + 0x100], 0x25
mov byte [esp + 0x101], 0x78
mov byte [esp + 0x102], 0x2d
mov byte [esp + 0x103], 0x25
mov byte [esp + 0x104], 0x78
mov byte [esp + 0x105], al
test dl, dl
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x108]
push ecx
push edi
call fcn.100f6765
add esp, 0x10
test dl, dl
lea edx, [esp + 0xac]
push edx
lea ecx, [esp + 0x58]
call fcn.10020c40
test ch, ch
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x28]
call fcn.10020c40
mov ah, ah
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x38]
call fcn.10020c40
mov ecx, ecx
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0x48]
call fcn.10020c40
mov eax, eax
movzx esi, byte [esp + 0x66]
push ebp
lea ecx, [esp + 0x28]
add esi, ebx
call fcn.10052f40
mov dword [eax], esi
test edi, edi
movzx esi, byte [esp + 0x65]
push ebp
lea ecx, [esp + 0x38]
add esi, ebx
call fcn.10052f40
mov dword [eax], esi
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x64]
and esi, 0xff
push ebp
lea ecx, [esp + 0x48]
add esi, ebx
call fcn.10052f40
mov dword [eax], esi
mov eax, eax
push ebp
lea ecx, [esp + 0x58]
call fcn.10052f40
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dl, dl
push 0x101593b0
push edi
call fcn.100f4be0
add esp, 8
mov edi, eax
mov bh, bh
test edi, edi
je 0x10078d3f
add edi, 1
mov edi, edi
add ebp, 1
mov ecx, ecx
test edi, edi
jne 0x10078c26
mov dword [esp + 0xa4], ebp
push 0x2ee6
call fcn.100f3e38
mov ebx, eax
add esp, 4
mov dword [esp + 0xac], ebx
xchg ebx, eax
xchg ebx, eax
push 0x1772
call fcn.100f3e38
mov ebp, eax
add esp, 4
mov dword [esp + 0xbc], ebp
test eax, 0x2b3a
push 0x1772
call fcn.100f3e38
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
mov ebp, ebp
test ebx, ebx
je 0x100796e1
test ebp, ebp
je 0x100796d6
test esi, esi
je 0x100796d6
push 0x2ee6
push 0
push ebx
call fcn.100f4ed0
add esp, 0xc
test dl, dl
push 0x1772
push 0
push ebp
call fcn.100f4ed0
add esp, 0xc
test eax, 0x75de
push 0x1772
mov edx, esi
push 0
push edx
call fcn.100f4ed0
add esp, 0xc
test eax, 0x19c4
mov al, al
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x18c]
add eax, 1
mov dword [esp + 0xc4], eax
push ecx
pop ecx
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x190]
add eax, 1
mov dword [esp + 0xc8], eax
mov ebp, ebp
mov esi, dword [esp + 0x70]
add esi, 1
mov dword [esp + 0x100], esi
test esi, esi
mov eax, dword [esp + 0x74]
imul eax, dword [esp + 0x70]
add eax, eax
add eax, eax
push eax
call fcn.100f3e38
mov edi, eax
add esp, 4
mov dword [esp + 0xb8], edi
test eax, 0x1e23
mov ecx, esi
imul ecx, dword [esp + 0x74]
add ecx, ecx
add ecx, ecx
push ecx
call fcn.100f3e38
add esp, 4
mov dword [esp + 0xa8], eax
mov ch, ch
imul esi, dword [esp + 0x74]
add esi, esi
add esi, esi
push esi
call fcn.100f3e38
mov esi, eax
add esp, 4
mov dword [esp + 0xb4], esi
mov ah, ah
test edi, edi
je 0x10079659
cmp dword [esp + 0xa8], 0
je 0x10079659
test esi, esi
je 0x10079659
mov edx, dword [esp + 0x74]
imul edx, dword [esp + 0x70]
add edx, edx
add edx, edx
push edx
push 0
push edi
call fcn.100f4ed0
add esp, 0xc
mov edx, edx
cmp dword [esp + 0x74], 0
mov dword [esp + 0x68], 0
jle 0x10079100
mov ecx, dword [esp + 0x70]
nop
test ecx, ecx
mov dword [esp + 0xa0], 0
jle 0x100790eb
mov eax, dword [esp + 0x68]
imul eax, dword [esp + 0x20]
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xa0]
lea eax, [eax + ecx*4]
mov dword [esp + 0xd4], eax
test bh, bh
mov byte [eax + 3], 0
test edx, edx
xor esi, esi
cmp dword [esp + 0xa4], esi
jle 0x100790ce
jmp 0x10078f30
push esi
lea ecx, [esp + 0x48]
call fcn.10052f40
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x9c], edx
call fcn.10052f40
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x28]
call fcn.10052f40
mov edi, dword [eax]
mov eax, dword [esp + 0xd4]
mov ebx, dword [eax]
push esi
lea ecx, [esp + 0x58]
mov dword [esp + 0xe0], ebx
call fcn.10052f40
mov eax, dword [eax]
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ah, ah
movzx edx, ah
mov dword [esp + 0x9c], edx
push ebx
pop ebx
and eax, 0xff
mov esi, esi
mov ebx, ebx
movzx edx, bh
mov dword [esp + 0xcc], edx
test eax, eax
and ebx, 0xff
mov dword [esp + 0xd8], ebx
test ah, ah
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0xe0], ebx
test bl, bl
mov edx, dword [esp + 0x9c]
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0xd0], ebx
test bl, bl
mov edx, eax
sub edx, dword [esp + 0x98]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test edi, edi
add ecx, edi
cmp ecx, 0xff
jle 0x1007901e
mov ecx, 0xff
mov dl, dl
mov edi, dword [esp + 0x9c]
add ebp, edi
cmp ebp, 0xff
jle 0x10079036
mov ebp, 0xff
push ebx
pop ebx
mov edi, dword [esp + 0x98]
add eax, edi
cmp eax, 0xff
jle 0x1007904d
mov eax, 0xff
test eax, 0x3161
movzx edi, byte [esp + 0xde]
cmp edi, dword [esp + 0xe0]
jl 0x10079091
cmp edi, ecx
jg 0x10079091
mov ecx, dword [esp + 0xcc]
cmp ecx, dword [esp + 0xd0]
jl 0x10079091
cmp ecx, ebp
jg 0x10079091
mov ecx, dword [esp + 0xd8]
cmp ecx, edx
jl 0x10079091
cmp ecx, eax
jg 0x10079091
mov eax, 1
jmp 0x10079093
xor eax, eax
cmp dword [esp + 0xb0], eax
je 0x100790ae
add esi, 1
cmp esi, dword [esp + 0xa4]
jl 0x10078f30
jmp 0x100790ce
mov eax, dword [esp + 0x68]
imul eax, dword [esp + 0x70]
add eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xb8]
mov dword [ecx + eax*4], 1
mov dh, dh
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x70]
add eax, 1
cmp eax, ecx
mov dword [esp + 0xa0], eax
jl 0x10078ef3
mov eax, dword [esp + 0x68]
add eax, 1
cmp eax, dword [esp + 0x74]
mov dword [esp + 0x68], eax
jl 0x10078ee0
mov edx, dword [esp + 0x100]
lea eax, [edx*4]
mov dword [esp + 0xa4], eax
xor ecx, ecx
mov ecx, ecx
xor edi, edi
cmp dword [esp + 0x74], edi
jle 0x1007917b
mov ebx, dword [esp + 0xa8]
xor esi, esi
test edi, edi
mov edx, dword [esp + 0x70]
mov dword [ebx + ecx*4], esi
add ecx, 1
xor eax, eax
test edx, edx
jle 0x10079172
lea esp, [esp]
mov ebp, edi
imul ebp, edx
mov edx, dword [esp + 0xb8]
add ebp, eax
cmp dword [edx + ebp*4], 0
je 0x1007915c
add esi, 1
test eax, 0x36b
mov dword [ebx + ecx*4], esi
add ecx, 1
test eax, 0x5974
mov edx, dword [esp + 0x70]
add eax, 1
cmp eax, edx
jl 0x10079140
add edi, 1
cmp edi, dword [esp + 0x74]
jl 0x10079128
cmp dword [esp + 0xc8], 0
jle 0x1007927a
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0xc8]
xor edi, edi
lea ebx, [eax + ecx*4]
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], edx
jmp 0x100791c0
cmp dword [esp + 0xc4], 0
jle 0x10079245
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xb0], eax
test cl, cl
xor edx, edx
push ebx
pop ebx
mov ah, ah
test bl, bl
cmp dword [esp + 0x190], edx
jle 0x1007921c
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0x190]
add ecx, edi
mov eax, ebx
lea ecx, [ecx]
mov ebp, dword [eax]
sub ebp, dword [ecx]
add edx, ebp
mov bh, bh
mov ebp, dword [esp + 0xa4]
add eax, ebp
add ecx, ebp
test esi, esi
test edx, edx
sub esi, 1
jne 0x10079200
cmp edx, dword [esp + 0x188]
jge 0x10079229
xor edx, edx
mov al, al
mov eax, dword [esp + 0xb4]
mov dword [edi + eax], edx
test bh, bh
add edi, 4
add ebx, 4
sub dword [esp + 0xb0], 1
jne 0x100791d8
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
add edi, eax
add ebx, eax
sub dword [esp + 0xa0], 1
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebx
jne 0x100791c0
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x68], 0
lea esp, [esp]
mov edx, dword [esp + 0x68]
cmp edx, dword [esp + 0xc8]
jge 0x10079563
mov edx, dword [esp + 0xc4]
xor ebp, ebp
test edx, edx
jle 0x100792bf
mov eax, ecx
cmp dword [eax], 0
jne 0x100792cd
add ebp, 1
add eax, 4
cmp ebp, edx
jl 0x100792b0
add dword [esp + 0x68], 1
add ecx, dword [esp + 0xa4]
jmp 0x10079290
xor eax, eax
mov byte [esp + 0x130], 0
mov dword [esp + 0x131], eax
mov dword [esp + 0x135], eax
mov dword [esp + 0x139], eax
mov dword [esp + 0x13d], eax
mov dword [esp + 0x141], eax
mov dword [esp + 0x145], eax
mov dword [esp + 0x149], eax
mov word [esp + 0x14d], ax
mov byte [esp + 0x14f], al
push ebx
pop ebx
mov byte [esp + 0x108], al
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov word [esp + 0x125], ax
mov byte [esp + 0x127], al
test eax, eax
mov eax, dword [esp + 0x18]
lea edi, [eax + ebp]
test cl, cl
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
lea ebx, [edx + ecx]
mov edi, edi
mov eax, dword [esp + 0xbc]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10079382
sub eax, ecx
mov esi, eax
mov edi, edi
mov eax, dword [esp + 0x64]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10079398
sub eax, edx
mov dword [esp + 0x100], eax
test al, al
push edi
lea eax, [esp + 0x134]
push 0x101594b0
push eax
call fcn.100f5cb0
add esp, 0xc
mov bh, bh
push ebx
lea ecx, [esp + 0x10c]
push 0x101594b0
push ecx
call fcn.100f5cb0
add esp, 0xc
mov al, al
test esi, esi
lea eax, [esp + 0x130]
jne 0x10079402
mov edx, dword [esp + 0xbc]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x100793f2
mov ebx, ebx
jmp 0x10079470
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10079405
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10079470
mov ebx, dword [esp + 0xbc]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10079425
mov dx, word [0x101593cc]
mov word [edi], dx
mov ebx, ebx
lea eax, [esp + 0x130]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10079444
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10079456
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 esi, dword [esp + 0x100]
test esi, esi
lea eax, [esp + 0x108]
jne 0x100794a0
mov edx, dword [esp + 0x64]
mov ecx, eax
sub edx, ecx
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10079490
push eax
pop eax
jmp 0x1007950c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100794a3
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007950c
mov ebx, dword [esp + 0x64]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100794c0
mov dx, word [0x101593cc]
mov word [edi], dx
test bh, bh
lea eax, [esp + 0x108]
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100794e0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100794f2
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 dh, dh
mov eax, eax
xor esi, esi
cmp dword [esp + 0x190], esi
jle 0x10079115
mov edi, dword [esp + 0x18c]
mov ebx, dword [esp + 0x68]
add edi, edi
add edi, edi
lea esp, [esp]
mov ecx, dword [esp + 0xb8]
lea eax, [esi + ebx]
imul eax, dword [esp + 0x70]
push edi
add eax, ebp
lea edx, [ecx + eax*4]
push 0
push edx
call fcn.100f4ed0
add esp, 0xc
push eax
pop eax
add esi, 1
cmp esi, dword [esp + 0x190]
jl 0x10079530
jmp 0x10079115
mov edi, dword [esp + 0xbc]
cmp byte [edi], 0
je 0x100795d2
mov al, 0x73
mov byte [esp + 0x100], 0x25
mov byte [esp + 0x101], al
mov byte [esp + 0x102], 0x7c
mov byte [esp + 0x103], 0x25
mov byte [esp + 0x104], al
mov byte [esp + 0x105], 0
test ah, ah
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xac]
push eax
push edi
lea ecx, [esp + 0x108]
push ecx
push esi
call fcn.100f5cb0
add esp, 0x10
mov ebx, ebx
push esi
lea ecx, [esp + 0xe8]
call fcn.1000d5a0
test dl, dl
jmp 0x100795db
test al, al
mov esi, dword [esp + 0xac]
push esi
call fcn.100f3efb
add esp, 4
test cl, cl
push edi
call fcn.100f3efb
add esp, 4
test bl, bl
mov edx, dword [esp + 0x64]
push edx
call fcn.100f3efb
add esp, 4
test ecx, ecx
mov eax, dword [esp + 0x14]
push eax
call fcn.100f3efb
add esp, 4
mov dword [esp + 0x14], 0
test bh, bh
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.100f3efb
add esp, 4
nop
mov edx, dword [esp + 0xa8]
push edx
call fcn.100f3efb
add esp, 4
push ecx
pop ecx
mov eax, dword [esp + 0xb4]
push eax
call fcn.100f3efb
add esp, 4
test edi, edi
lea ecx, [esp + 0xe4]
push ecx
jmp 0x10079707
push ebx
call fcn.100f3efb
add esp, 4
test al, al
push ebp
call fcn.100f3efb
add esp, 4
mov ch, ch
mov edx, dword [esp + 0x64]
push edx
call fcn.100f3efb
add esp, 4
mov esi, esi
mov eax, dword [esp + 0x14]
push eax
call fcn.100f3efb
add esp, 4
mov dword [esp + 0x14], 0
test eax, 0xc21
test edi, edi
je 0x100796a7
push edi
call fcn.100f3efb
add esp, 4
test ebx, ebx
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x100796bd
push eax
call fcn.100f3efb
add esp, 4
test dl, dl
test esi, esi
je 0x100796cc
push esi
call fcn.100f3efb
add esp, 4
test ah, ah
lea ecx, [esp + 0xe4]
push ecx
jmp 0x10079707
push ebx
call fcn.100f3efb
add esp, 4
mov ecx, ecx
test ebp, ebp
je 0x100796f0
push ebp
call fcn.100f3efb
add esp, 4
test edx, edx
test esi, esi
je 0x100796ff
push esi
call fcn.100f3efb
add esp, 4
test ah, ah
lea edx, [esp + 0xe4]
push edx
mov esi, dword [esp + 0xc4]
mov ecx, esi
call fcn.1000a2b0
mov dword [esp + 0x94], 1
mov byte [esp + 0x15c], 4
lea ecx, [esp + 0x44]
call fcn.1000a510
mov byte [esp + 0x15c], 3
lea ecx, [esp + 0x34]
call fcn.1000a510
mov byte [esp + 0x15c], 2
lea ecx, [esp + 0x24]
call fcn.1000a510
mov byte [esp + 0x15c], 1
lea ecx, [esp + 0x54]
call fcn.1000a510
mov byte [esp + 0x15c], 0
lea ecx, [esp + 0xe4]
call fcn.10006710
mov eax, esi
jmp 0x10079847
mov eax, dword [esp + 0x14]
push eax
call fcn.100f3efb
add esp, 4
mov dword [esp + 0x14], ebp
test dh, dh
jmp 0x10078a7e
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0xec]
mov esi, 0xf
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x14], ebp
push edx
mov ecx, ebx
mov byte [ebx + 4], 0
call fcn.10009fd0
mov dword [esp + 0x94], 1
mov byte [esp + 0x15c], 0
cmp dword [esp + 0xfc], 0x10
jb 0x1007982f
mov eax, dword [esp + 0xe8]
push eax
jmp 0x10079827
fstp st(0)
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0xec]
mov esi, 0xf
push ecx
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x14], ebp
mov ecx, ebx
mov byte [ebx + 4], 0
call fcn.10009fd0
mov dword [esp + 0x94], 1
mov byte [esp + 0x15c], 0
cmp dword [esp + 0xfc], 0x10
jb 0x1007982f
mov edx, dword [esp + 0xe8]
push edx
call fcn.100e2dad
add esp, 4
mov byte [esp + 0xe8], 0
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xfc], esi
mov eax, ebx
mov ecx, dword [esp + 0x154]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x13c]
xor ecx, esp
call fcn.100f43d6
add esp, 0x14c
ret