Function at 0x1008f870
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cab17
mov eax, dword fs:[0]
push eax
sub esp, 0x408
mov eax, dword [0x100f03c8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x358], eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], eax
call fcn.100212e0
lea ecx, [ebp - 0x80]
call fcn.1001fd90
mov dword [ebp - 4], 1
mov ecx, dword [0x1011c600]
mov eax, dword [0x10122288]
add ecx, 0xffffffdb
xor ecx, 0xfd998721
movss xmm1, dword [ecx + ebx]
movss xmm2, dword [ecx + ebx + 4]
subss xmm2, dword [ecx + eax + 4]
subss xmm1, dword [ecx + eax]
movss xmm0, dword [ecx + ebx + 8]
subss xmm0, dword [ecx + eax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
mulss xmm2, dword [0x100e0a54]
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [0x100e0ae8]
cvttsd2si esi, xmm0
mov dword [ebp - 0x44], esi
test esi, esi
jle 0x1008f9e3
cmp esi, 5
jle 0x1008f9b0
mov eax, 0x66666667
mov ecx, esi
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub ecx, eax
je 0x1008f973
dec esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
lea ecx, [eax + eax*4]
sub edx, ecx
jne 0x1008f956
mov dword [ebp - 0x44], esi
mov eax, 0x66666667
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
sub esi, eax
jne 0x1008f9e3
lea eax, [ebp - 0x44]
mov edx, str._i_FT
push eax
lea ecx, [ebp - 0x37c]
call fcn.10046f00
add esp, 4
lea ecx, [ebp - 0x80]
push eax
call fcn.10024860
mov byte [ebp - 4], 2
jmp 0x1008f9d4
lea eax, [ebp - 0x44]
mov edx, str._i_FT
push eax
lea ecx, [ebp - 0x37c]
call fcn.10046f00
add esp, 4
lea ecx, [ebp - 0x80]
push eax
call fcn.10024860
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x37c]
call fcn.1001e940
mov byte [ebp - 4], 1
mov eax, dword [ebx + 8]
lea edi, [ebx + 8]
mov ecx, edi
mov dword [ebp - 0x364], edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1011c474]
mov esi, eax
mov edx, dword [0x1011c618]
mov eax, dword [0x10122288]
add edx, 0xffffffd5
xor edx, 0xfd998727
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100e0b64]
mov ecx, dword [edx + ebx]
movss dword [ebp - 0x1c], xmm0
cmp ecx, dword [edx + eax]
je 0x1008fa35
mov byte [ebp - 0x335], 1
jmp 0x1008fa4b
mov ecx, dword [0x1011c4fc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x335]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x1010f9d8], 0
mov dh, al
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x336], dh
je 0x1008fa8d
test cl, cl
je 0x1008fa8d
test dh, dh
jne 0x1008fa9a
mov eax, dword [0x1011c6a4]
add eax, 0xffffffb2
xor eax, 0xfd99874a
mov byte [ebx + eax], 1
mov byte [esi + 0x1011fd4f], 1
jmp 0x1008faa7
test dh, dh
jne 0x1008fa9a
mov byte [esi + 0x1011fd4f], 1
jmp 0x1008faa7
cmp byte [esi + 0x1011fd4f], 0
je 0x100917ea
movss xmm0, dword [esi*4 + 0x1011fd8c]
test dh, dh
je 0x1008fabb
subss xmm0, dword [ebp - 0x1c]
jmp 0x1008fac0
addss xmm0, dword [ebp - 0x1c]
movss dword [esi*4 + 0x1011fd8c], xmm0
test cl, cl
je 0x1008fada
cmp byte [0x1010ca50], 0
je 0x1008fada
mov dl, 1
jmp 0x1008fadc
xor dl, dl
movss xmm1, dword [0x100e0b04]
xorps xmm2, xmm2
comiss xmm0, xmm1
ja 0x1008faf7
comiss xmm0, xmm2
movaps xmm1, xmm0
ja 0x1008faf7
xorps xmm1, xmm1
ucomiss xmm1, xmm2
movss dword [esi*4 + 0x1011fd8c], xmm1
lahf
test ah, 0x44
jp 0x1008fb11
test dl, dl
je 0x100917ea
mov ecx, dword [0x1011c680]
mov eax, dword [0x1011c474]
add ecx, 0xffffffbb
xor ecx, 0xfd998741
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ebx + ecx]
test dh, dh
je 0x1008fb40
comiss xmm2, dword [0x100e0ba8]
ja 0x100917ea
movaps xmm0, xmm1
mulss xmm1, dword [0x100e0c60]
mulss xmm0, dword [0x100e0c88]
cvttss2si eax, xmm0
mov dword [ebp - 0x360], eax
cvttss2si eax, xmm1
mov dword [ebp - 0x340], eax
mov eax, dword [0x1010cb84]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x1c], eax
test dh, dh
je 0x1008fbfe
test dl, dl
je 0x1008fbfe
movss xmm0, dword [0x100e0b88]
comiss xmm2, xmm0
mov dword [ebp - 0x360], 0x70
mov dword [ebp - 0x340], 0x50
jbe 0x1008fbe5
subss xmm2, xmm0
movss xmm0, dword [0x100e0c3c]
movaps xmm1, xmm2
mulss xmm2, dword [0x100e0bbc]
mulss xmm1, dword [0x100e0bcc]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100e0c20]
subss xmm0, xmm2
mov dword [ebp - 0x360], eax
cvttss2si eax, xmm0
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x348], 0xff707070
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x1011c418]
lea edx, [ebp - 0x334]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100917ea
push dword [ebp - 0x360]
mov ecx, 0x1011fd50
push ebx
call fcn.1008f070
lea eax, [ebp - 0x2c]
mov ecx, 0x1011fd50
push eax
push ebx
call fcn.10092220
test al, al
je 0x100917ea
mov al, byte [ebp - 0x335]
test al, al
je 0x1008fc58
cmp byte [0x1010d7b4], 0
jne 0x1008fc65
jmp 0x1008fc7c
cmp byte [0x1010c9c4], 0
je 0x10090175
push dword [ebp - 0x360]
mov ecx, 0x1011fd50
push ebx
call fcn.10092970
mov al, byte [ebp - 0x335]
test al, al
je 0x1008fc8b
cmp byte [0x1010d8fc], 0
jne 0x1008fc98
jmp 0x1008fcaf
cmp byte [0x1010c9c4], 0
je 0x10090175
push dword [ebp - 0x360]
mov ecx, 0x1011fd50
push ebx
call fcn.100926c0
mov al, byte [ebp - 0x335]
test al, al
je 0x1008fcc1
cmp byte [0x1010cadc], 0
jne 0x1008fcce
jmp 0x1008fe1e
cmp byte [0x1010c9c4], 0
je 0x10090175
movd xmm3, dword [ebp - 0x340]
lea ecx, [ebp - 0x35c]
movzx eax, byte [0x1010cb87]
mov edx, ebx
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x345], al
mov word [ebp - 0x348], 0
mov byte [ebp - 0x346], 0
push dword [ebp - 0x348]
call fcn.1008f720
movzx ecx, byte [0x1010cb87]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3dc]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
movd xmm3, dword [ebp - 0x360]
movzx ebx, byte [0x1010cb87]
movzx edx, byte [ebp - 0x1a]
mov esi, dword [eax]
mov eax, dword [ebp - 0x33c]
movzx ecx, ah
movzx eax, al
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x347], cl
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 0x346], dl
mov edx, dword [ebp - 0x344]
mov byte [ebp - 0x348], al
mov byte [ebp - 0x345], bl
push dword [ebp - 0x348]
call fcn.1008f720
movzx ecx, byte [0x1010cb87]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3c]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
push dword [eax]
mov dword [ebp - 0x33c], ebx
mov ebx, dword [ebp - 0x2c]
push ecx
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
mov dword [ebp - 0x350], edx
push edx
mov edx, dword [ebp - 0x33c]
call fcn.10085960
mov eax, dword [ebp - 0x1c]
lea ecx, [ebx - 1]
mov edx, dword [ebp - 0x33c]
add esp, 0xc
add eax, 2
push esi
push eax
mov eax, dword [ebp - 0x350]
lea edx, [edx - 1]
add eax, 2
push eax
call fcn.10085960
mov eax, dword [ebp - 0x1c]
lea ecx, [ebx + 1]
add esp, 0xc
add eax, 0xfffffffe
push esi
push eax
mov eax, dword [ebp - 0x350]
add eax, 0xfffffffe
push eax
mov eax, dword [ebp - 0x33c]
lea edx, [eax + 1]
call fcn.10085960
mov ebx, dword [ebp - 0x344]
add esp, 0xc
mov al, byte [ebp - 0x335]
test al, al
je 0x1008fe30
cmp byte [0x1010ccb0], 0
jne 0x1008fe3d
jmp 0x1008ff23
cmp byte [0x1010c9c4], 0
je 0x10090175
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
lea ecx, [ebp - 0x351]
mov byte [ebp - 4], 9
push ecx
push 0x18
push 0
push eax
lea ecx, [ebp - 0x5c]
call fcn.1003c580
mov eax, 0x40
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x358], eax
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0xc
call fcn.1001e940
movd xmm3, dword [ebp - 0x340]
lea ecx, [ebp - 0x35c]
cvtdq2ps xmm3, xmm3
mov byte [ebp - 4], 0xb
mov edx, ebx
push dword [0x1010cd58]
call fcn.1008f720
movzx ecx, byte [0x1010cd5b]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3dc]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
lea ecx, [ebp - 0x414]
mov esi, dword [eax]
mov eax, dword [ebp - 0x28]
sub eax, dword [0x1011f65c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
lea edx, [ebp - 0x5c]
mov ebx, eax
sar ebx, 1
add ebx, dword [ebp - 0x2c]
call fcn.10084650
push 2
push eax
push esi
mov byte [ebp - 4], 0xd
mov ecx, 0x1011f654
push dword [ebp - 0x1c]
push ebx
call fcn.10085df0
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 0xe
call fcn.100432d0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xf
call fcn.1001e940
mov byte [ebp - 4], 1
cmp byte [ebp - 0x335], 0
je 0x1008ffa6
cmp byte [0x1010cc24], 0
jne 0x1008ffaf
mov ebx, dword [ebp - 0x344]
mov al, byte [ebp - 0x335]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov byte [ebp - 4], 0x14
movq qword [ebp - 0x68], xmm0
mov dword [ebp - 0x60], 0
test al, al
je 0x10090180
push 0x1010d170
lea ecx, [ebp - 0x3fc]
call fcn.1001e230
mov eax, dword [ebp - 0x18]
or eax, 0x400
or eax, 1
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x18], eax
jmp 0x1009019d
cmp byte [0x1010c9c4], 0
je 0x1008ff35
mov eax, dword [0x1011c658]
mov ecx, 0x64
mov ebx, dword [ebp - 0x344]
add eax, 0xffffffc5
mov esi, dword [ebp - 0x20]
xor eax, 0xfd998737
add esi, 0xfffffffe
mov eax, dword [eax + ebx]
cmp eax, ecx
mov ebx, ecx
cmovl ebx, eax
mov eax, 0x51eb851f
sub ecx, ebx
mov dword [ebp - 0x1c], ebx
imul ecx, ecx, 0x1fe
imul ecx
mov ecx, 0xff
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
cmovg eax, ecx
imul ecx, ebx, 0x1fe
mov dword [ebp - 0x350], eax
mov eax, 0x51eb851f
imul ecx
mov eax, 0xff
sar edx, 5
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp ebx, 0xff
push ecx
cmovg ebx, eax
mov eax, dword [ebp - 0x1c]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100e0a24]
movss dword [esp], xmm0
call fcn.100a12c5
mov ecx, dword [ebp - 0x340]
mov eax, esp
fstp dword [ebp - 0x33c]
cvttss2si esi, dword [ebp - 0x33c]
mov byte [eax + 3], cl
mov word [eax], 0
mov byte [eax + 2], 0
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
add eax, 2
mov ecx, dword [ebp - 0x2c]
push eax
push 4
lea edx, [edx - 1]
lea ecx, [ecx - 6]
call fcn.100859a0
mov ecx, dword [ebp - 0x350]
add esp, 8
mov eax, esp
mov byte [eax], cl
mov ecx, dword [ebp - 0x360]
mov byte [eax + 3], cl
mov byte [eax + 1], bl
mov byte [eax + 2], 0
lea eax, [esi + 2]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
sub ecx, esi
add edx, 0xfffffffe
add edx, ecx
mov ecx, dword [ebp - 0x2c]
push eax
push 2
lea ecx, [ecx - 5]
call fcn.10085960
mov eax, dword [0x1011c658]
add esp, 0xc
add eax, 0xffffffc5
xor eax, 0xfd998737
mov ebx, dword [ebp - 0x344]
cmp dword [ebx + eax], 0x5c
jg 0x1008ff3b
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x5c]
call fcn.1002fae0
mov eax, dword [ebp - 0x18]
or eax, 0x100
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
sub ecx, esi
mov esi, dword [ebp - 0x2c]
add ebx, 0xfffffff9
add ebx, ecx
mov word [ebp - 0x348], 0xffff
lea ecx, [ebp - 0x37c]
mov byte [ebp - 0x346], 0xff
mov byte [ebp - 0x345], al
add esi, 0xfffffffb
call fcn.10084650
push 2
push eax
mov byte [ebp - 4], 0x11
mov ecx, 0x1011f648
push dword [ebp - 0x348]
push ebx
push esi
call fcn.10085df0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x12
call fcn.100432d0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
call fcn.1001e940
jmp 0x1008ff35
mov ebx, dword [ebp - 0x344]
jmp 0x1008ff41
push 0x1010d218
lea ecx, [ebp - 0x3f0]
call fcn.1001e230
or dword [ebp - 0x18], 0x802
lea ecx, [ebp - 0x3f0]
push ecx
lea ecx, [ebp - 0x68]
call fcn.100936b0
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x18]
test al, 2
je 0x100901d2
and eax, 0xfffffffd
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x358], eax
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0x17
call fcn.1001e430
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x18
test al, 1
je 0x100901ed
lea ecx, [ebp - 0x3fc]
mov byte [ebp - 4], 0x19
call fcn.1001e430
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x68]
call fcn.1001e210
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x68]
call fcn.1001e200
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax]
je 0x10090efe
nop word [eax + eax]
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0
jne 0x100902bc
mov eax, dword [0x1011c65c]
lea ecx, [ebp - 0x37c]
add eax, 0xffffffc4
mov edx, 0x100e0994
xor eax, 0xfd998738
add eax, ebx
push eax
call fcn.10046f00
add esp, 4
mov ecx, dword [ebp - 0x340]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0x345], cl
lea ecx, [ebp - 0x398]
push eax
mov word [ebp - 0x348], 0xd29b
mov byte [ebp - 0x346], 0x64
call fcn.1001ea30
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x1c
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x1d
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
cmp dword [eax], 1
jne 0x100903e5
mov eax, dword [0x1011c6ac]
add eax, 0xffffffb0
xor eax, 0xfd99874c
cmp dword [eax + ebx], 0
jle 0x100903e5
mov eax, dword [0x1011c690]
lea ecx, [ebp - 0x37c]
add eax, 0xffffffb7
xor eax, 0xfd998745
cmp byte [ebx + eax], 0
je 0x10090368
push 0x100e0998
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 0x3ad], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3b0], 0xffff
mov byte [ebp - 0x3ae], 0xff
call fcn.1001ea30
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x20
call fcn.1001e940
mov byte [ebp - 4], 0x21
jmp 0x100903d6
push 0x100e0968
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x22
mov byte [ebp - 0x3b1], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3b4], 0xffff
mov byte [ebp - 0x3b2], 0xff
call fcn.1001ea30
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x24
call fcn.1001e940
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x37c]
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
cmp dword [eax], 2
jne 0x1009048b
mov eax, dword [0x1011c69c]
add eax, 0xffffffb4
xor eax, 0xfd998748
cmp byte [ebx + eax], 0
je 0x1009048b
push str.ZOOM
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x3b5], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3b8], 0xb43c
mov byte [ebp - 0x3b6], 0xe1
call fcn.1001ea30
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x28
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x29
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
xorps xmm1, xmm1
cmp dword [eax], 3
jne 0x1009053b
mov eax, dword [0x1011c6b8]
add eax, 0xffffffad
xor eax, 0xfd99874f
movss xmm0, dword [ebx + eax]
comiss xmm0, xmm1
jbe 0x1009053b
push str.FLASHED
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2a
mov byte [ebp - 0x3b9], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3bc], 0xffff
mov byte [ebp - 0x3ba], 0
call fcn.1001ea30
mov eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2c
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x2d
call fcn.1001e940
mov byte [ebp - 4], 0x18
xorps xmm1, xmm1
mov eax, dword [ebp - 0x18]
cmp dword [eax], 4
jne 0x1009061f
mov eax, dword [0x1011c5ac]
mov ecx, dword [eax + ebx]
movss xmm0, dword [ecx + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1009061f
mov esi, dword [ecx + 0x54]
mov ecx, dword [0x1011c5c4]
mov eax, dword [0x1011c56c]
mov dword [ebp - 0x3c], eax
cmp dword [ecx + ebx], 0
jne 0x1009058a
mov eax, dword [0x1011c548]
mov ecx, ebx
call eax
mov ecx, dword [0x1011c5c4]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ecx + ebx]
mov edx, esi
call eax
cmp eax, 0x3c7
jne 0x1009061f
push str.RELOAD
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x2e
mov byte [ebp - 0x3bd], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3c0], 0xb43c
mov byte [ebp - 0x3be], 0xe1
call fcn.1001ea30
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x30
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x31
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
cmp dword [eax], 5
jne 0x100906bf
mov eax, dword [0x1011c578]
mov ecx, ebx
call eax
test al, al
je 0x100906bf
push str.BOMB
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x32
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3d8], 0xff
mov byte [ebp - 0x3d6], 0
call fcn.1001ea30
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x34
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x35
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x554
lea ecx, [eax + 0x100f0988]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3dc], ecx
cmp dword [eax], 6
jne 0x100908b2
test ecx, ecx
je 0x100908b2
cmp dword [ecx + 0x18], 0
jbe 0x100908b2
lea eax, [ebp - 0x408]
add ecx, 8
push eax
call fcn.1001fc70
mov ecx, eax
mov byte [ebp - 4], 0x36
call fcn.100200c0
mov byte [ebp - 4], 0x18
mov ecx, dword [eax]
mov dword [ebp - 0x3a8], ecx
mov al, byte [ecx + 0x420]
mov byte [ebp - 0x351], al
test al, al
mov eax, dword [ebp - 0x340]
je 0x10090752
mov word [ebp - 0x3d4], 0xd29b
mov byte [ebp - 0x3d2], 0x64
mov byte [ebp - 0x3d1], al
mov esi, dword [ebp - 0x3d4]
jmp 0x1009076e
mov word [ebp - 0x3d0], 0xff
mov byte [ebp - 0x3ce], 0
mov byte [ebp - 0x3cd], al
mov esi, dword [ebp - 0x3d0]
test byte [ecx + 0x440], 1
jne 0x100907b3
push 0x100e0950
lea ecx, [ebp - 0x398]
call fcn.1001e9d0
mov dword [ebp - 0x380], esi
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x38
call fcn.1001e940
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x3e4]
mov dword [ebp - 0x3c], 0
push eax
mov ecx, 0x1010a064
call fcn.1001e200
mov ecx, 0x1010a064
mov esi, dword [eax]
lea eax, [ebp - 0x3e0]
push eax
call fcn.1001e210
push esi
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x3a0]
push dword [eax]
call fcn.10020620
add esp, 8
mov esi, eax
lea eax, [ebp - 0x34c]
mov ecx, 0x1010a064
push eax
call fcn.1001e200
mov ecx, dword [esi]
cmp ecx, dword [eax]
je 0x100908b2
cmp byte [ebp - 0x351], 0
je 0x100908b2
mov eax, dword [ebp - 0x3a8]
test byte [eax + 0x440], 1
jne 0x100908b2
push 0x100e09c0
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x39
mov byte [ebp - 0x3c5], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3c8], 0xffff
mov byte [ebp - 0x3c6], 0xff
call fcn.1001ea30
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x3b
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x3c
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
cmp dword [eax], 7
jne 0x10090a43
mov esi, dword [0x10122a54]
test esi, esi
je 0x10090a43
mov eax, dword [edi]
mov ecx, edi
mov esi, dword [esi]
mov eax, dword [eax + 0x28]
call eax
push eax
mov ecx, esi
call fcn.1003b540
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100ab76e
push dword [ebp - 0x34c]
fstp qword [ebp - 0x3ac]
cvttsd2si eax, qword [ebp - 0x3ac]
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3a8], 0x2ee
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x3a8]
push eax
call fcn.10093c50
mov eax, dword [ebp - 0x1c]
add esp, 0x10
cmp eax, 0x96
jg 0x1009094b
mov edx, 0x9d
lea ecx, [edx + 0x3e]
lea eax, [edx - 0x43]
jmp 0x100909d0
cmp eax, 0x15e
jg 0x100909a7
add eax, 0xffffff6a
mov edx, 0x9d
mov ecx, 0xdb
mov esi, 0x5a
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x100e0cdc]
cvttss2si eax, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [0x100e0a80]
sub edx, eax
mulss xmm0, dword [0x100e0aa8]
cvttss2si eax, xmm0
sub ecx, eax
cvttss2si eax, xmm1
sub esi, eax
mov dword [ebp - 0x3a8], esi
mov eax, esi
jmp 0x100909d0
add eax, 0xfffffea2
mov ecx, 0x97
mov edx, 0xf2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100e0abc]
cvttss2si eax, xmm0
sub ecx, eax
mov eax, 0x33
mov byte [ebp - 0x3e], al
mov eax, dword [ebp - 0x340]
mov byte [ebp - 0x3d], al
lea eax, [ebp - 0x1c]
mov byte [ebp - 0x40], dl
mov edx, str._i_ms
mov byte [ebp - 0x3f], cl
lea ecx, [ebp - 0x37c]
push eax
call fcn.10046f00
add esp, 4
push eax
lea ecx, [ebp - 0x398]
call fcn.1001e990
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x3f
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x40
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x18]
mov dl, byte [ebp - 0x336]
cmp dword [eax], 8
jne 0x10090dcc
test dl, dl
jne 0x10090dcc
mov ecx, dword [0x1011c6f0]
mov eax, dword [0x10122288]
add ecx, 0xffffff9f
xor ecx, 0xfd99875d
mov eax, dword [ecx + eax]
mov ecx, dword [0x1011c41c]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
mov eax, dword [0x10122924]
cmp eax, 0x28
jne 0x10090b26
mov eax, dword [0x1011c658]
add eax, 0xffffffc5
xor eax, 0xfd998737
cmp dword [ebx + eax], 0x5d
jg 0x10090c68
push str.LETHAL
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x41
mov byte [ebp - 0x3c9], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3cc], 0xc896
mov byte [ebp - 0x3ca], 0x3c
call fcn.1001ea30
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x43
call fcn.1001e940
mov byte [ebp - 4], 0x44
jmp 0x10090db7
cmp eax, 9
jne 0x10090bbf
mov eax, dword [0x1011c658]
add eax, 0xffffffc5
xor eax, 0xfd998737
cmp dword [ebx + eax], 0x64
jg 0x10090c68
push str.LETHAL
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x45
mov byte [ebp - 0x3c1], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x3c4], 0xc800
mov byte [ebp - 0x3c2], 0
call fcn.1001ea30
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x47
call fcn.1001e940
mov byte [ebp - 4], 0x48
jmp 0x10090db7
cmp eax, 0xb
je 0x10090d43
cmp eax, 0x26
jne 0x10090c68
mov eax, dword [0x1011c658]
add eax, 0xffffffc5
xor eax, 0xfd998737
mov eax, dword [ebx + eax]
cmp eax, 0x28
jle 0x10090d43
cmp eax, 0x51
jg 0x10090c68
push str.LETHAL
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x4d
mov byte [ebp - 0x399], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x39c], 0xa1fc
mov byte [ebp - 0x39a], 3
call fcn.1001ea30
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x4f
call fcn.1001e940
mov byte [ebp - 4], 0x50
jmp 0x10090db7
test esi, esi
je 0x10090dc6
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
cmp dword [eax + 0xc8], 0
jne 0x10090c9c
mov eax, dword [0x1011c708]
add eax, 0xffffff99
xor eax, 0xfd998763
cmp dword [eax + esi], 0x1f
jne 0x10090dc6
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [0x1011c658]
sub esp, 8
add ecx, 0xffffffc5
mov esi, eax
xor ecx, 0xfd998737
movd xmm0, dword [ecx + ebx]
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100ab76e
fstp qword [ebp - 0x3ac]
cvttsd2si eax, qword [ebp - 0x3ac]
add esp, 8
cmp dword [esi + 0xec], eax
jl 0x10090dc6
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
push str.LETHAL
mov word [ebp - 0x350], 0x67fc
mov byte [ebp - 0x34e], 3
mov byte [ebp - 0x34d], al
call fcn.1001e9d0
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x51
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x398]
jmp 0x10090dbd
push str.LETHAL
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x49
mov byte [ebp - 0x355], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x358], 0xc896
mov byte [ebp - 0x356], 0x3c
call fcn.1001ea30
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x4b
call fcn.1001e940
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x37c]
call fcn.1001e940
mov byte [ebp - 4], 0x18
mov dl, byte [ebp - 0x336]
mov eax, dword [ebp - 0x18]
cmp dword [eax], 9
jne 0x10090ee0
mov ecx, dword [ebp - 0x3dc]
test ecx, ecx
je 0x10090ee0
cmp dword [ecx + 0x18], 0
je 0x10090ee0
test dl, dl
jne 0x10090ee0
lea eax, [ebp - 0x50]
add ecx, 8
push eax
call fcn.1001fc70
mov ecx, eax
mov byte [ebp - 4], 0x53
call fcn.100200c0
mov byte [ebp - 4], 0x18
mov esi, dword [eax]
mov ecx, dword [esi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1011c418]
lea edi, [ebp - 0x1dc]
push edi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
lea edi, [ebx + 8]
test al, al
je 0x10090e4a
cmp byte [ebp - 0xa0], 0
jne 0x10090ee0
movss xmm0, dword [esi + 0x7c]
ucomiss xmm0, dword [esi + 0x68]
lahf
test ah, 0x44
jnp 0x10090ee0
push str.FAKE
lea ecx, [ebp - 0x37c]
call fcn.1001e9d0
mov eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x54
mov byte [ebp - 0x339], al
lea eax, [ebp - 0x37c]
push eax
mov word [ebp - 0x33c], 0xffff
mov byte [ebp - 0x33a], 0xff
call fcn.1001ea30
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x398]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [ebp - 0x38]
call fcn.1006b910
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x56
call fcn.1001e940
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x57
call fcn.1001e940
mov byte [ebp - 4], 0x18
add dword [ebp - 0x18], 4
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x68]
call fcn.1001e200
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax]
jne 0x10090220
mov ecx, dword [ebp - 0x34]
mov eax, 0x92492493
mov esi, dword [ebp - 0x38]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10090fc0
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x1c], ebx
nop word [eax + eax]
mov ecx, dword [0x1011f650]
lea edx, [esi + ebx]
mov eax, dword [ebp - 0x28]
dec ecx
mov ebx, dword [ebp - 0x24]
mov esi, dword [edx + 0x18]
imul ecx, edi
add eax, ecx
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x2c]
add eax, 2
add ebx, eax
call fcn.10084650
push 0
push eax
push esi
mov byte [ebp - 4], 0x58
mov ecx, 0x1011f648
push dword [ebp - 0x35c]
push ebx
call fcn.10085df0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x59
call fcn.100432d0
mov byte [ebp - 4], 0x18
mov eax, 0x92492493
mov ecx, dword [ebp - 0x34]
inc edi
mov esi, dword [ebp - 0x38]
sub ecx, esi
mov ebx, dword [ebp - 0x1c]
imul ecx
add ebx, 0x1c
add edx, ecx
mov dword [ebp - 0x1c], ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x10090f30
mov edi, dword [ebp - 0x364]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x5a
call fcn.1001e430
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x5b
call fcn.1006b720
cmp byte [ebp - 0x335], 0
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], 3
je 0x100911aa
cmp byte [0x1010d3dc], 0
je 0x100911b7
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x554
lea esi, [eax + 0x100f0988]
test esi, esi
je 0x100911b7
cmp byte [esi + 0x49c], 0
je 0x100911b7
cmp dword [esi + 0x18], 0
je 0x100911b7
lea eax, [ebp - 0x50]
push eax
lea ecx, [esi + 8]
call fcn.1001fc70
mov ecx, eax
mov byte [ebp - 4], 0x5c
call fcn.100200c0
mov byte [ebp - 4], 1
mov edi, dword [eax]
test edi, edi
je 0x100911b7
movss xmm1, dword [edi + 0x44]
movss xmm0, dword [edi + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10018020
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100e0b20]
jbe 0x1009108c
cmp byte [edi + 0x450], 0
je 0x100911b7
cmp dword [esi + 0x51c], 3
jg 0x100911b7
movss xmm0, dword [esi + 0x498]
subss xmm0, dword [edi + 0x458]
movss xmm1, dword [0x100e0b08]
mov dword [ebp - 0x34c], 0x3f8ccccd
mov dword [ebp - 0x364], 0
comiss xmm0, xmm1
movss dword [ebp - 0x35c], xmm0
ja 0x100910eb
xorps xmm1, xmm1
lea eax, [ebp - 0x364]
comiss xmm0, xmm1
lea ecx, [ebp - 0x35c]
cmovae eax, ecx
movss xmm1, dword [eax]
movd xmm0, dword [ebp - 0x24]
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, dword [ebp - 0x340]
mov eax, esp
push 4
mulss xmm0, xmm1
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], cl
mulss xmm0, dword [0x100e0af8]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add eax, 2
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
add edx, eax
movss dword [ebp - 0x364], xmm0
call fcn.100859a0
movd xmm3, dword [ebp - 0x360]
lea ecx, [ebp - 0x3a0]
mov ebx, dword [ebp - 0x344]
add esp, 0xc
cvtdq2ps xmm3, xmm3
mov edx, ebx
push dword [0x1010d484]
call fcn.1008f720
movzx ecx, byte [0x1010d487]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x34c]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
push dword [eax]
cvttss2si eax, dword [ebp - 0x364]
push 2
lea ecx, [ecx + 1]
push eax
mov eax, dword [ebp - 0x28]
add eax, 3
add edx, eax
call fcn.10085960
mov edi, 7
add esp, 0xc
mov dword [ebp - 0x18], edi
jmp 0x100911c2
cmp byte [0x1010c9c4], 0
je 0x100917ea
mov ebx, dword [ebp - 0x344]
mov edi, 3
mov ecx, dword [0x1011c41c]
mov eax, dword [0x1011c6f0]
add eax, 0xffffff9f
push ecx
mov edx, dword [ecx]
xor eax, 0xfd99875d
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax + ebx]
mov dword [edx], eax
call esi
mov ebx, eax
mov dword [ebp - 0x39c], ebx
test ebx, ebx
je 0x100917ea
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x6f8]
mov ecx, ebx
call edx
test eax, eax
je 0x100917ea
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov esi, dword [ebp - 0x344]
mov dword [ebp - 0x358], eax
mov eax, dword [0x1011c70c]
add eax, 0xffffff98
xor eax, 0xfd998764
mov ecx, dword [ebx + eax]
mov eax, dword [0x1011c5ac]
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax + esi]
movss xmm0, dword [ebx + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1009128f
mov ecx, dword [0x1011c56c]
mov eax, dword [ebx + 0x54]
mov dword [ebp - 0x35c], ecx
mov ecx, dword [0x1011c5c4]
mov dword [ebp - 0x364], eax
cmp dword [ecx + esi], 0
jne 0x10091279
mov eax, dword [0x1011c548]
mov ecx, esi
call eax
mov ecx, dword [0x1011c5c4]
mov eax, dword [ebp - 0x364]
mov ecx, dword [ecx + esi]
mov edx, eax
call dword [ebp - 0x35c]
cmp eax, 0x3c7
jne 0x1009128f
mov al, 1
jmp 0x10091291
xor al, al
mov ecx, dword [ebp - 0x358]
mov byte [ebp - 0x336], al
cmp ecx, 0xffffffff
je 0x100914f0
cmp byte [0x1010d294], 0
je 0x100914f0
test al, al
je 0x100912be
movss xmm1, dword [ebx + 0x68]
jmp 0x100912d1
movd xmm1, dword [ebp - 0x1c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm1, xmm0
mov eax, dword [ebp - 0x24]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp], xmm0
call fcn.100a12c5
movd xmm0, dword [ebp - 0x340]
lea ecx, [ebp - 0x34c]
movzx eax, byte [0x1010d33f]
add esp, 4
mov edx, dword [ebp - 0x344]
mov esi, dword [0x1010d33c]
cvtdq2ps xmm3, xmm0
mov byte [ebp - 0x339], al
mov word [ebp - 0x33c], 0
mov byte [ebp - 0x33a], 0
push dword [ebp - 0x33c]
fstp dword [ebp - 0x350]
call fcn.1008f720
movzx ecx, byte [0x1010d33f]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3a0]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add ecx, edi
dec edx
push dword [eax]
mov eax, dword [ebp - 0x24]
add edx, ecx
mov ecx, dword [ebp - 0x2c]
add eax, 2
push 4
push eax
lea ecx, [ecx - 1]
call fcn.100859a0
movd xmm3, dword [ebp - 0x360]
lea ecx, [ebp - 0x3e0]
add esp, 0xc
cvtdq2ps xmm3, xmm3
push esi
mov esi, dword [ebp - 0x344]
mov edx, esi
call fcn.1008f720
movzx ecx, byte [0x1010d33f]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x34c]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
add edx, edi
add edx, dword [ebp - 0x20]
push dword [eax]
cvttss2si eax, dword [ebp - 0x350]
push 2
add eax, 2
push eax
call fcn.10085960
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
test ebx, ebx
jle 0x100914ea
movd xmm0, dword [ebp - 0x358]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100e0af4]
call fcn.10017fb0
cvttss2si eax, xmm0
cmp ebx, eax
jg 0x100914ea
cmp byte [ebp - 0x336], 0
jne 0x100914ea
mov edx, ebx
lea ecx, [ebp - 0x37c]
call fcn.1002fae0
movd xmm3, dword [ebp - 0x340]
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x5d
mov edx, esi
movzx eax, byte [0x1010d33f]
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x339], al
mov word [ebp - 0x33c], 0xffff
mov byte [ebp - 0x33a], 0xff
push dword [ebp - 0x33c]
call fcn.1008f720
movzx ecx, byte [0x1010d33f]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3a0]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x37c]
mov ebx, dword [ebp - 0x20]
add ecx, edi
cvttss2si edi, dword [ebp - 0x350]
mov esi, dword [eax]
add ebx, 0xfffffffd
add ebx, ecx
lea ecx, [ebp - 0x5c]
add edi, dword [ebp - 0x2c]
call fcn.10084650
push 2
push eax
push esi
push ebx
push edi
mov ecx, 0x1011f648
mov byte [ebp - 4], 0x5e
call fcn.10085df0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x5f
call fcn.100432d0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x60
call fcn.1001e940
mov esi, dword [ebp - 0x344]
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x18]
add edi, 3
mov dword [ebp - 0x18], edi
cmp byte [0x1010d524], 0
je 0x100915c6
mov ax, word [0x1010d5ce]
movd xmm3, dword [ebp - 0x340]
movzx edx, al
movzx ebx, ah
mov eax, dword [0x1010d5cc]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movzx eax, al
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x33b], cl
lea ecx, [ebp - 0x34c]
mov byte [ebp - 0x33a], dl
mov edx, esi
mov byte [ebp - 0x33c], al
mov byte [ebp - 0x339], bl
push dword [ebp - 0x33c]
call fcn.1008f720
movzx ecx, byte [0x1010d5cf]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3a0]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ebx, dword [ebp - 0x28]
lea ecx, [ebp - 0x37c]
add ebx, edi
add ebx, dword [ebp - 0x20]
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
lea edx, [ebp - 0x80]
mov edi, eax
sar edi, 1
add edi, dword [ebp - 0x2c]
call fcn.10084650
push 2
push eax
push esi
push ebx
push edi
mov ecx, 0x1011f648
mov byte [ebp - 4], 0x61
call fcn.10085df0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x62
call fcn.100432d0
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x18]
add edi, dword [0x1011f650]
mov dword [ebp - 0x18], edi
cmp byte [0x1010cdf8], 0
je 0x10091718
mov ecx, dword [ebp - 0x39c]
lea eax, [ebp - 0x5c]
push eax
call fcn.1008c010
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
lea ecx, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
mov dword [ebp - 0x364], eax
lea eax, [ebp - 0x34c]
push eax
call fcn.10034890
cmp dword [ebp - 0x48], 0x10
lea ebx, [ebp - 0x5c]
cmovae ebx, dword [ebp - 0x5c]
xor esi, esi
mov eax, dword [eax]
xor ecx, ecx
mov edi, eax
sub edi, ebx
cmp ebx, eax
cmova edi, ecx
test edi, edi
je 0x1009163f
movsx eax, byte [esi + ebx]
push eax
call fcn.100ab73e
mov ecx, dword [ebp - 0x364]
add esp, 4
mov byte [esi + ecx], al
inc esi
cmp esi, edi
jne 0x10091624
mov ax, word [0x1010cea2]
movd xmm3, dword [ebp - 0x340]
movzx edx, al
movzx ebx, ah
mov eax, dword [0x1010cea0]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movzx eax, al
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x33b], cl
lea ecx, [ebp - 0x34c]
mov byte [ebp - 0x33a], dl
mov edx, dword [ebp - 0x344]
mov byte [ebp - 0x33c], al
mov byte [ebp - 0x339], bl
push dword [ebp - 0x33c]
call fcn.1008f720
movzx ecx, byte [0x1010cea3]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3a0]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
mov ebx, dword [ebp - 0x18]
lea ecx, [ebp - 0x37c]
add ebx, dword [ebp - 0x28]
add ebx, dword [ebp - 0x20]
mov esi, dword [eax]
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
lea edx, [ebp - 0x5c]
mov edi, eax
sar edi, 1
add edi, dword [ebp - 0x2c]
call fcn.10084650
push 2
push eax
push esi
push ebx
push edi
mov ecx, 0x1011f648
mov byte [ebp - 4], 0x64
call fcn.10085df0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x65
call fcn.100432d0
mov eax, dword [0x1011f650]
mov edi, dword [ebp - 0x18]
dec eax
add edi, eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x66
call fcn.1001e940
mov byte [ebp - 4], 1
cmp byte [0x1010cf40], 0
je 0x100917ea
mov eax, dword [0x1011c708]
mov ecx, 0x1011fd50
mov edx, dword [ebp - 0x39c]
add eax, 0xffffff99
xor eax, 0xfd998763
push dword [eax + edx]
lea eax, [ebp - 0x37c]
push eax
call fcn.1008f7a0
mov esi, eax
movd xmm3, dword [ebp - 0x340]
mov edx, dword [ebp - 0x344]
mov byte [ebp - 4], 0x67
mov ecx, dword [0x1010d0a4]
mov byte [ebp - 0x33c], cl
shr ecx, 8
mov byte [ebp - 0x33b], cl
mov cx, word [0x1010d0a6]
cvtdq2ps xmm3, xmm3
mov byte [ebp - 0x33a], cl
mov byte [ebp - 0x339], ch
lea ecx, [ebp - 0x34c]
push dword [ebp - 0x33c]
call fcn.1008f720
movzx ecx, byte [0x1010d0a7]
add esp, 4
movd xmm2, ecx
lea ecx, [ebp - 0x3a0]
cvtdq2ps xmm2, xmm2
push ecx
mov ecx, eax
call fcn.1002dda0
push 2
push esi
mov ecx, 0x1011f69c
push dword [eax]
mov eax, dword [ebp - 0x28]
add eax, edi
add eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x24]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x2c]
push eax
call fcn.10085c60
lea ecx, [ebp - 0x37c]
call fcn.1001e940
lea ecx, [ebp - 0x80]
call fcn.1001e940
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009999a
mov esp, ebp
pop ebp
ret 4