Function at 0x100bc860
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cfd50
mov eax, dword fs:[0]
push eax
sub esp, 0x418
mov eax, dword [0x100e7008]
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 - 0x388], eax
lea edi, [ebx + 8]
mov dword [ebp - 0x1c], eax
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0x38c], ebx
mov dword [ebp - 0x3c8], edi
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101d01d4]
mov dword [ebp - 0x20], eax
mov eax, dword [edi]
movss xmm0, dword [ecx + 0x14]
mov ecx, edi
mulss xmm0, dword [0x100dad54]
mov eax, dword [eax + 0x24]
movss dword [ebp - 0x18], xmm0
call eax
mov esi, dword [0x101d038c]
mov ecx, dword [0x101afb28]
add esi, 0xffffffd6
xor esi, 0x197e095c
mov byte [ebp - 0x366], al
mov edx, dword [esi + ebx]
cmp edx, dword [esi + ecx]
je 0x100bc8ff
mov cl, 1
jmp 0x100bc917
mov ecx, dword [0x101d0270]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
mov al, byte [ebp - 0x366]
setne cl
cmp byte [0x101bbc10], 0
mov byte [ebp - 0x365], cl
je 0x100bc94b
test cl, cl
je 0x100bc94b
test al, al
jne 0x100bc95b
mov eax, dword [0x101d0424]
mov edx, dword [ebp - 0x20]
add eax, 0xffffffb0
xor eax, 0x197e0982
mov byte [ebx + eax], 1
mov byte [edx + 0x101d4f27], 1
jmp 0x100bc96b
test al, al
jne 0x100bc95b
mov edx, dword [ebp - 0x20]
mov byte [edx + 0x101d4f27], 1
jmp 0x100bc96b
mov edx, dword [ebp - 0x20]
cmp byte [edx + 0x101d4f27], 0
je 0x100be930
mov ecx, dword [0x101d0174]
lea esi, [ebp - 0x20c]
mov al, byte [0x101b6d5c]
mov byte [ebp - 0x36d], al
push esi
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100be930
mov eax, dword [ebp - 0x20]
xorps xmm2, xmm2
movss xmm0, dword [eax*4 + 0x101d4f64]
lea esi, [eax*4 + 0x101d4f64]
movss xmm1, dword [0x100dacd8]
comiss xmm0, xmm1
jbe 0x100bc9bb
movaps xmm0, xmm1
jmp 0x100bc9c3
comiss xmm0, xmm2
ja 0x100bc9c3
xorps xmm0, xmm0
ucomiss xmm0, xmm2
movss dword [esi], xmm0
lahf
test ah, 0x44
jp 0x100bc9dd
cmp byte [ebp - 0x36d], 0
je 0x100be930
mov eax, dword [0x101d03bc]
add eax, 0xffffffca
xor eax, 0x197e0968
mov al, byte [ebx + eax]
test al, al
jne 0x100bca04
mov eax, dword [0x101d03dc]
add eax, 0xffffffc2
xor eax, 0x197e0970
cmp dword [ebx + eax], 0
jg 0x100bca0a
mov dword [esi], 0
cmp byte [ebp - 0x366], 0
jne 0x100bcab1
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [ebp - 0x38c]
mov ecx, edx
imul ebx, eax, 0x2c
mov eax, dword [0x101d03c0]
add eax, 0xffffffc9
xor eax, 0x197e0969
add ebx, 0x101cf598
mov esi, dword [edx + eax]
mov eax, dword [edx]
mov eax, dword [eax + 0x28]
call eax
push esi
push eax
push 1
mov ecx, ebx
call fcn.100b8490
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax*4 + 0x101d4f64]
lea esi, [eax*4 + 0x101d4f64]
movss xmm1, dword [0x100dacd8]
comiss xmm1, xmm0
mov ebx, dword [ebp - 0x38c]
jbe 0x100bcb5e
mov eax, dword [0x101d03bc]
add eax, 0xffffffca
xor eax, 0x197e0968
mov al, byte [ebx + eax]
test al, al
jne 0x100bcb5e
mov eax, dword [0x101d03dc]
add eax, 0xffffffc2
xor eax, 0x197e0970
cmp dword [ebx + eax], 0
jle 0x100bcb5e
jmp 0x100bcb55
push ebx
mov ecx, 0x101cf598
call fcn.1005c5c0
mov ecx, dword [ebx]
mov byte [ebp - 0x381], al
mov edx, dword [ecx + 0x28]
mov ecx, ebx
call edx
movq xmm0, qword [eax]
mov ecx, dword [eax + 8]
movq qword [ebp - 0x98], xmm0
movss xmm1, dword [ebp - 0x98]
movss xmm0, dword [0x100dae84]
comiss xmm1, xmm0
mov dword [ebp - 0x90], ecx
jbe 0x100bcb2c
movss xmm2, dword [0x100dac08]
comiss xmm2, xmm1
jbe 0x100bcb2c
movss xmm1, dword [ebp - 0x94]
comiss xmm1, xmm0
jbe 0x100bcb2c
comiss xmm2, xmm1
jbe 0x100bcb2c
movss xmm1, dword [ebp - 0x90]
comiss xmm1, xmm0
jbe 0x100bcb2c
comiss xmm2, xmm1
jbe 0x100bcb2c
mov dword [esi], 0
cmp byte [ebp - 0x381], 0
movss xmm0, dword [esi]
jne 0x100bcb48
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100bcb5e
subss xmm0, dword [ebp - 0x18]
jmp 0x100bcb5a
movss xmm1, dword [0x100dacd8]
comiss xmm1, xmm0
jbe 0x100bcb5e
addss xmm0, dword [ebp - 0x18]
movss dword [esi], xmm0
mov eax, dword [0x101b6b44]
lea edx, [ebp - 0x28]
push dword [ebp - 0x378]
mov dword [ebp - 0x24], eax
mov ecx, esi
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x3c4]
push eax
mov dword [ebp - 0x3c4], 0x3f800000
mov dword [ebp - 0x28], 0
call fcn.1002e5d0
add esp, 8
lea edx, [ebp - 0x20c]
movss xmm0, dword [eax]
movss dword [esi], xmm0
mulss xmm0, dword [0x100dae24]
mov ecx, dword [0x101d0174]
push edx
mov edx, dword [ebp - 0x20]
cvttss2si eax, xmm0
push edx
mov dword [ebp - 0x3bc], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x100dad00]
cvttsd2si eax, xmm0
mov dword [ebp - 0x36c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100be930
mov ecx, dword [0x101d0400]
mov eax, dword [0x101d01d4]
add ecx, 0xffffffb9
xor ecx, 0x197e0979
cmp byte [ebp - 0x366], 0
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [ebx + ecx]
je 0x100bcc41
comiss xmm0, dword [0x100dad58]
ja 0x100be930
cmp byte [ebp - 0x36d], 0
je 0x100bcc41
mov ecx, dword [ebp - 0x3bc]
mov word [ebp - 0x20], 0x7070
mov byte [ebp - 0x1e], 0x70
mov byte [ebp - 0x1d], cl
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], eax
push dword [ebp - 0x3bc]
mov ecx, 0x101d4f28
push ebx
call fcn.100bc250
lea eax, [ebp - 0x38]
mov ecx, 0x101d4f28
push eax
push ebx
call fcn.100c0080
test al, al
je 0x100be930
cmp byte [ebp - 0x365], 0
je 0x100bce43
cmp byte [0x101b7f24], 0
je 0x100bcc90
push dword [ebp - 0x3bc]
mov ecx, 0x101d4f28
push ebx
call fcn.100c0c80
cmp byte [0x101b9590], 0
je 0x100bccaa
push dword [ebp - 0x3bc]
mov ecx, 0x101d4f28
push ebx
call fcn.100c15b0
cmp byte [0x101b6aa0], 0
je 0x100bcdc7
cmp byte [ebp - 0x366], 0
mov ebx, dword [ebp - 0x38]
je 0x100bcd1b
mov eax, dword [ebp - 0x3bc]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x36c]
mov word [ebp - 0x20], 0xd2d2
mov byte [ebp - 0x1e], 0xd2
push dword [ebp - 0x20]
mov byte [ebp - 0x371], al
mov eax, dword [ebp - 0x2c]
push eax
mov dword [ebp - 0x24], ecx
push ecx
mov ecx, ebx
mov word [ebp - 0x374], 0
mov byte [ebp - 0x372], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x380], edx
call fcn.100b34b0
mov esi, dword [ebp - 0x374]
jmp 0x100bcd80
mov eax, dword [ebp - 0x36c]
movzx edx, byte [ebp - 0x16]
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x24]
movzx ecx, ah
movzx eax, al
mov byte [ebp - 0x374], al
mov eax, dword [ebp - 0x3bc]
mov byte [ebp - 0x373], cl
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x372], dl
mov edx, dword [ebp - 0x34]
mov byte [ebp - 0x371], al
push dword [ebp - 0x374]
mov eax, dword [ebp - 0x2c]
push eax
mov dword [ebp - 0x24], ecx
push ecx
mov ecx, ebx
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x380], edx
call fcn.100b34b0
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
lea ecx, [ebx - 1]
mov edx, dword [ebp - 0x380]
add esp, 0xc
add eax, 2
dec edx
push esi
push eax
mov eax, dword [ebp - 0x24]
add eax, 2
push eax
call fcn.100b34b0
mov eax, dword [ebp - 0x18]
lea ecx, [ebx + 1]
mov edx, dword [ebp - 0x380]
add esp, 0xc
add eax, 0xfffffffe
push esi
push eax
mov eax, dword [ebp - 0x24]
lea edx, [edx + 1]
add eax, 0xfffffffe
push eax
call fcn.100b34b0
add esp, 0xc
cmp byte [0x101b706c], 0
jne 0x100bce4c
xor cl, cl
mov eax, dword [0x101d4ae8]
movq xmm7, qword [0x101d4ae0]
mov edx, dword [0x101d4a58]
movq xmm0, qword [0x101d4a50]
mov esi, dword [0x101d4adc]
movq xmm1, qword [0x101d4ad4]
mov ebx, dword [0x101d4b24]
movq xmm2, qword [0x101d4b1c]
movq xmm3, qword [0x101d4a5c]
movq xmm4, qword [0x101d4aa4]
movq xmm5, qword [0x101d4a8c]
movq xmm6, qword [0x101d4a68]
mov dword [ebp - 0x48], eax
mov eax, dword [0x101cceb8]
dec eax
movq qword [ebp - 0x50], xmm7
cmp eax, 6
ja case.default.0x100bce3c
jmp dword [eax*4 + 0x100be950]
cmp byte [0x101b6a18], 0
je 0x100bcdd0
mov cl, 1
jmp 0x100bcdd2
movq qword [ebp - 0x50], xmm0
mov dword [ebp - 0x48], edx
jmp case.default.0x100bce3c
movq qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], esi
jmp case.default.0x100bce3c
movq qword [ebp - 0x50], xmm2
mov dword [ebp - 0x48], ebx
jmp case.default.0x100bce3c
mov eax, dword [0x101d4a64]
movq qword [ebp - 0x50], xmm3
jmp 0x100bce9c
mov eax, dword [0x101d4aac]
movq qword [ebp - 0x50], xmm4
jmp 0x100bce9c
mov eax, dword [0x101d4a94]
movq qword [ebp - 0x50], xmm5
jmp 0x100bce9c
mov eax, dword [0x101d4a70]
movq qword [ebp - 0x50], xmm6
mov dword [ebp - 0x48], eax
mov eax, dword [0x101d4ae8]
mov dword [ebp - 0x84], eax
mov eax, dword [0x101ccd78]
dec eax
movq qword [ebp - 0x8c], xmm7
cmp eax, 6
ja case.default.0x100bcebd
jmp dword [eax*4 + 0x100be96c]
movq qword [ebp - 0x8c], xmm0
mov dword [ebp - 0x84], edx
jmp case.default.0x100bcebd
movq qword [ebp - 0x8c], xmm1
mov dword [ebp - 0x84], esi
jmp case.default.0x100bcebd
movq qword [ebp - 0x8c], xmm2
mov dword [ebp - 0x84], ebx
jmp case.default.0x100bcebd
mov eax, dword [0x101d4a64]
movq qword [ebp - 0x8c], xmm3
jmp 0x100bcf2e
mov eax, dword [0x101d4aac]
movq qword [ebp - 0x8c], xmm4
jmp 0x100bcf2e
mov eax, dword [0x101d4a94]
movq qword [ebp - 0x8c], xmm5
jmp 0x100bcf2e
mov eax, dword [0x101d4a70]
movq qword [ebp - 0x8c], xmm6
mov dword [ebp - 0x84], eax
mov eax, dword [0x101ccf58]
mov esi, dword [0x101cce18]
mov dword [ebp - 0x3c4], eax
test cl, cl
je 0x100bd0bc
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x80]
call fcn.1002d340
lea ecx, [ebp - 0x381]
mov dword [ebp - 4], 0
push ecx
push 0xc
push 0
push eax
lea ecx, [ebp - 0x68]
call fcn.10052470
mov eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x388], eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call fcn.1002d2f0
mov byte [ebp - 4], 2
mov eax, dword [0x101b7110]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x15], al
test esi, esi
jle 0x100bd05c
lea eax, [ebp - 0x378]
lea ecx, [ebp - 0x68]
push eax
call fcn.1003be30
lea ecx, [ebp - 0x68]
mov edi, dword [eax]
lea eax, [ebp - 0x398]
push eax
call fcn.10049f80
lea ecx, [ebp - 0x68]
cmp esi, 1
jne 0x100bd000
mov esi, dword [eax]
lea eax, [ebp - 0x390]
push eax
call fcn.1003be30
mov byte [ebp - 4], 4
mov edx, esi
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ecx, dword [eax]
push edi
push dword [ebp - 0x378]
call fcn.100c2ac0
jmp 0x100bd04f
cmp esi, 2
mov esi, dword [eax]
lea eax, [ebp - 0x390]
push eax
jne 0x100bd02f
call fcn.1003be30
mov byte [ebp - 4], 5
mov edx, esi
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ecx, dword [eax]
push edi
push dword [ebp - 0x378]
call fcn.100c2ac0
jmp 0x100bd04f
call fcn.1003be30
mov byte [ebp - 4], 6
mov edx, esi
mov ecx, dword [eax]
mov byte [ebp - 0x28], 1
push dword [ebp - 0x28]
push edi
push dword [ebp - 0x378]
call fcn.100c2c70
mov byte [ebp - 4], 2
add esp, 0xc
mov edi, dword [ebp - 0x3c8]
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x418]
mov ebx, dword [ebp - 0x34]
sub ebx, dword [ebp - 0x84]
cdq
sub eax, edx
lea edx, [ebp - 0x68]
mov esi, eax
sar esi, 1
add esi, dword [ebp - 0x38]
call fcn.100b1920
push 2
push eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x8c]
push dword [ebp - 0x18]
push ebx
push esi
call fcn.100b3ab0
lea ecx, [ebp - 0x418]
mov byte [ebp - 4], 8
call fcn.100591a0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 9
call fcn.1002d2f0
mov dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x365], 0
je 0x100bd283
cmp byte [0x101b726c], 0
je 0x100bd283
mov eax, dword [ebp - 0x34]
mov ecx, 0x64
mov edx, dword [ebp - 0x38c]
mov ebx, ecx
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
add esi, 0xfffffffe
mov eax, dword [0x101d03dc]
add eax, 0xffffffc2
mov dword [ebp - 0x18], esi
xor eax, 0x197e0970
mov eax, dword [edx + eax]
cmp eax, ecx
cmovl ebx, eax
mov eax, 0x51eb851f
sub ecx, ebx
mov dword [ebp - 0x380], 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 - 0x3c0], 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 - 0x380]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100dac08]
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
mov ecx, dword [ebp - 0x36c]
mov eax, esp
mov edx, dword [ebp - 0x24]
fstp dword [ebp - 0x28]
cvttss2si esi, dword [ebp - 0x28]
mov byte [eax + 3], cl
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x38]
add eax, 2
push eax
push 4
lea ecx, [ecx - 6]
call fcn.100b34f0
mov ecx, dword [ebp - 0x3c0]
add esp, 8
mov eax, esp
push esi
mov byte [eax + 1], bl
mov ebx, dword [ebp - 0x18]
mov byte [eax], cl
sub ebx, esi
mov ecx, dword [ebp - 0x3bc]
add ebx, dword [ebp - 0x24]
mov byte [eax + 3], cl
mov byte [eax + 2], 0
mov ecx, dword [ebp - 0x38]
push 2
lea edx, [ebx + 1]
lea ecx, [ecx - 5]
call fcn.100b34b0
mov eax, dword [ebp - 0x380]
add esp, 0xc
cmp eax, 0x5d
jge 0x100bd283
mov edx, eax
lea ecx, [ebp - 0x68]
call fcn.100451f0
mov eax, dword [ebp - 0x1c]
or eax, 0x10
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x36c]
lea edx, [ebp - 0x68]
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x80]
mov esi, dword [ebp - 0x38]
mov word [ebp - 0x374], 0xffff
add esi, 0xfffffffb
mov byte [ebp - 0x372], 0xff
mov byte [ebp - 0x371], al
call fcn.100b1920
push 2
push eax
mov byte [ebp - 4], 0xb
lea eax, [ebx - 4]
push dword [ebp - 0x374]
lea ecx, [ebp - 0x50]
push eax
push esi
call fcn.100b3ab0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xc
call fcn.100591a0
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0xd
call fcn.1002d2f0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x18d8
xorps xmm0, xmm0
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
lea ebx, [eax + 0x100e9b44]
cmp byte [ebp - 0x365], 0
mov dword [ebp - 4], 0xe
movq qword [ebp - 0x98], xmm0
mov dword [ebp - 0x90], 0
je 0x100bd302
push 0x101b73dc
lea ecx, [ebp - 0x3f4]
call fcn.1002cc90
mov eax, dword [ebp - 0x1c]
or eax, 0x40
or eax, 1
lea ecx, [ebp - 0x3f4]
mov dword [ebp - 0x1c], eax
jmp 0x100bd31f
push 0x101b7b4c
lea ecx, [ebp - 0x400]
call fcn.1002cc90
or dword [ebp - 0x1c], 0x82
lea ecx, [ebp - 0x400]
push ecx
lea ecx, [ebp - 0x98]
call fcn.100c1840
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x1c]
test al, 2
je 0x100bd357
and eax, 0xfffffffd
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x388], eax
lea ecx, [ebp - 0x400]
mov byte [ebp - 4], 0x11
call fcn.1002ce80
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x12
test al, 1
je 0x100bd372
lea ecx, [ebp - 0x3f4]
mov byte [ebp - 4], 0x13
call fcn.1002ce80
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
lea ecx, [ebp - 0x98]
call fcn.1002cc70
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002cc60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
je 0x100bdf71
mov esi, dword [ebp - 0x38c]
nop dword [eax + eax]
mov eax, dword [0x101d03bc]
add eax, 0xffffffca
xor eax, 0x197e0968
mov al, byte [esi + eax]
test al, al
jne 0x100bdf50
mov eax, dword [0x101d03dc]
add eax, 0xffffffc2
xor eax, 0x197e0970
cmp dword [esi + eax], 0
jle 0x100bdf50
cmp byte [ebp - 0x365], 0
je 0x100bdf50
cmp byte [ebp - 0x366], 0
jne 0x100bdf50
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
jne 0x100bd48f
mov eax, dword [0x101d03e0]
lea ecx, [ebp - 0x80]
add eax, 0xffffffc1
mov edx, 0x100daab4
xor eax, 0x197e0971
add eax, esi
push eax
call fcn.10042300
add esp, 4
mov ecx, dword [ebp - 0x36c]
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x371], cl
lea ecx, [ebp - 0x3b8]
push eax
mov word [ebp - 0x374], 0xd29b
mov byte [ebp - 0x372], 0x64
call fcn.1002d3a0
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x16
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x17
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 1
jne 0x100bd57a
mov eax, dword [0x101d0334]
xorps xmm1, xmm1
mov ecx, dword [eax + esi]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100bd57a
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x101d02f0]
mov dword [ebp - 0x398], ecx
mov ecx, dword [0x101d0354]
mov dword [ebp - 0x390], eax
cmp dword [ecx + esi], 0
jne 0x100bd4ee
mov eax, dword [0x101d02cc]
mov ecx, esi
call eax
mov ecx, dword [0x101d0354]
mov eax, dword [ebp - 0x390]
mov ecx, dword [ecx + esi]
mov edx, eax
call dword [ebp - 0x398]
cmp eax, 0x3c7
jne 0x100bd57a
push str.RELOAD
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x18
mov byte [ebp - 0x3e5], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3e8], 0xaf00
mov byte [ebp - 0x3e6], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1a
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x1b
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 2
jne 0x100bd697
mov eax, dword [0x101d042c]
add eax, 0xffffffae
xor eax, 0x197e0984
cmp dword [esi + eax], 0
jle 0x100bd697
mov eax, dword [0x101d0410]
lea ecx, [ebp - 0x80]
add eax, 0xffffffb5
xor eax, 0x197e097d
cmp byte [esi + eax], 0
je 0x100bd620
push 0x100dab18
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1c
mov byte [ebp - 0x3e1], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3e4], 0xffff
mov byte [ebp - 0x3e2], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x1e
call fcn.1002d2f0
mov byte [ebp - 4], 0x1f
jmp 0x100bd68b
push 0x100dab1c
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x20
mov byte [ebp - 0x3dd], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3e0], 0xffff
mov byte [ebp - 0x3de], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x22
call fcn.1002d2f0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x80]
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 3
jne 0x100bd717
mov eax, dword [0x101d0438]
xorps xmm1, xmm1
add eax, 0xffffffab
xor eax, 0x197e0987
movss xmm0, dword [esi + eax]
comiss xmm0, xmm1
jbe 0x100bd717
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
push str.FLASHED
mov word [ebp - 0x3dc], 0xffff
mov byte [ebp - 0x3da], 0
mov byte [ebp - 0x3d9], al
call fcn.1002d340
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x25
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 4
jne 0x100bd7b0
mov eax, dword [0x101d041c]
add eax, 0xffffffb2
xor eax, 0x197e0980
cmp byte [esi + eax], 0
je 0x100bd7b0
push str.SCOPED
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x3d5], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3d8], 0xaf00
mov byte [ebp - 0x3d6], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x27
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x28
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x29
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 5
jne 0x100bd843
mov eax, dword [0x101d02fc]
mov ecx, esi
call eax
test al, al
je 0x100bd843
push 0x100d5168
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x2a
mov byte [ebp - 0x3d1], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3d4], 0xff
mov byte [ebp - 0x3d2], 0
call fcn.1002d3a0
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x2c
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x2d
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 6
jne 0x100bd944
test ebx, ebx
je 0x100bd944
cmp dword [ebx + 0x10], 0
je 0x100bd944
lea eax, [ebp - 0x424]
mov ecx, ebx
push eax
call fcn.1002df10
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.1002e210
mov byte [ebp - 4], 0x12
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 [0x101d0174]
lea edi, [ebp - 0x364]
push edi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov edi, dword [ebp - 0x3c8]
test al, al
je 0x100bd8b8
cmp byte [ebp - 0x228], 0
jne 0x100bd944
movss xmm0, dword [esi + 0x88]
ucomiss xmm0, dword [esi + 0x74]
lahf
test ah, 0x44
jnp 0x100bd944
push str.FAKE
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x2f
mov byte [ebp - 0x3c9], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x3cc], 0xffff
mov byte [ebp - 0x3ca], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x31
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x32
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 7
jne 0x100bda60
mov ecx, dword [0x101d0470]
mov eax, dword [0x101afb28]
add ecx, 0xffffff9d
xor ecx, 0x197e0995
mov eax, dword [ecx + eax]
mov ecx, dword [0x101d0178]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov esi, eax
test esi, esi
je 0x100bda60
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
cmp dword [eax + 0xc8], 0
jne 0x100bd9af
mov eax, dword [0x101d048c]
add eax, 0xffffff96
xor eax, 0x197e099c
cmp dword [eax + esi], 0x1f
jne 0x100bda60
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [0x101d03dc]
sub esp, 8
mov edx, dword [ebp - 0x38c]
add ecx, 0xffffffc2
xor ecx, 0x197e0970
mov esi, eax
movd xmm0, dword [edx + ecx]
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fstp qword [ebp - 0x39c]
cvttsd2si eax, qword [ebp - 0x39c]
add esp, 8
cmp dword [esi + 0xec], eax
jl 0x100bda60
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
push str.LETHAL
mov word [ebp - 0x3d0], 0xc896
mov byte [ebp - 0x3ce], 0x3c
mov byte [ebp - 0x3cd], al
call fcn.1002d340
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x34
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 8
jne 0x100bdbcb
test ebx, ebx
je 0x100bdbcb
cmp dword [ebx + 0x10], 0
je 0x100bdbcb
lea eax, [ebp - 0x40c]
mov ecx, ebx
push eax
call fcn.1002df10
mov ecx, eax
mov byte [ebp - 4], 0x35
call fcn.1002e210
mov byte [ebp - 4], 0x12
xor edx, edx
mov ecx, dword [eax]
cmp dword [ecx + 0xc], 3
jg 0x100bdacc
mov eax, dword [ecx + 0x3f0]
cmp eax, 0xfffffff6
jle 0x100bdac7
movss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [ecx + 0x1c]
ja 0x100bdac7
cmp eax, 0xffffffff
jge 0x100bdacc
mov edx, 1
jmp 0x100bdacc
mov edx, 2
mov eax, dword [ebp - 0x36c]
mov word [ebp - 0x20], 0xffff
mov byte [ebp - 0x1e], 0xff
mov byte [ebp - 0x1d], al
cmp edx, 2
jne 0x100bdb2a
cmp byte [ecx + 0x3428], 0
lea eax, [ebp - 0x20]
mov esi, 0x101ce6b4
lea ecx, [ebp - 0x3b8]
push str.DEFENSIVE
cmovne esi, eax
call fcn.1002d340
mov eax, dword [esi]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
mov byte [ebp - 4], 0x37
jmp 0x100bdbbc
cmp edx, 1
jne 0x100bdb61
push 0x100daaf4
lea ecx, [ebp - 0x3b8]
call fcn.1002d340
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
mov byte [ebp - 4], 0x39
jmp 0x100bdbbc
movss xmm1, dword [ecx + 0x28]
movss xmm0, dword [ecx + 0x2c]
subss xmm0, dword [ecx + 0x38]
subss xmm1, dword [ecx + 0x34]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x100dae54]
jbe 0x100bdbcb
push 0x100daa68
lea ecx, [ebp - 0x3b8]
call fcn.1002d340
mov eax, dword [0x101ce6b4]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x3b8]
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 9
jne 0x100bdc63
test ebx, ebx
je 0x100bdc63
cmp dword [ebx + 0x10], 0
je 0x100bdc63
lea eax, [ebp - 0xa4]
mov ecx, ebx
push eax
call fcn.1002df10
mov ecx, eax
mov byte [ebp - 4], 0x3c
call fcn.1002e210
mov ecx, dword [ebp - 0x36c]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x3bd], cl
lea ecx, [ebp - 0x3b8]
mov eax, dword [eax]
add eax, 0x3434
mov word [ebp - 0x3c0], 0xd29b
push eax
mov byte [ebp - 0x3be], 0x64
call fcn.1002d3a0
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x3e
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0xa
jne 0x100bdcf8
test ebx, ebx
je 0x100bdcf8
cmp dword [ebx + 0x10], 0
je 0x100bdcf8
lea eax, [ebp - 0x5c]
mov ecx, ebx
push eax
call fcn.1002df10
mov ecx, eax
mov byte [ebp - 4], 0x3f
call fcn.1002e210
mov ecx, dword [ebp - 0x36c]
mov byte [ebp - 4], 0x12
mov byte [ebp - 0x37d], cl
lea ecx, [ebp - 0x3b8]
mov eax, dword [eax]
add eax, 0x344c
mov word [ebp - 0x380], 0xffff
push eax
mov byte [ebp - 0x37e], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x40
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x41
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0xb
jne 0x100bde23
mov esi, dword [0x101b1b84]
test esi, esi
je 0x100bde23
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.1004ffe0
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
push dword [ebp - 0x378]
fstp qword [ebp - 0x39c]
cvttsd2si eax, qword [ebp - 0x39c]
lea edx, [ebp - 0x390]
mov dword [ebp - 0x398], 0x2ee
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x390], 0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x398]
push eax
call fcn.1005b2b0
movss xmm0, dword [0x100dae24]
lea ecx, [ebp - 0x80]
mov edx, str._ims
mov byte [ebp - 0x24], 0xc1
movd xmm2, dword [eax]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
mulss xmm2, dword [0x100dac50]
mulss xmm1, dword [0x100dac6c]
subss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x100dae04]
subss xmm0, xmm2
mov byte [ebp - 0x23], al
cvttss2si eax, xmm0
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x36c]
mov byte [ebp - 0x21], al
lea eax, [ebp - 0x28]
push eax
call fcn.10042300
add esp, 0x14
push eax
lea ecx, [ebp - 0x3b8]
call fcn.10039710
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x44
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x45
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0xc
jne 0x100bdec7
test ebx, ebx
je 0x100bdec7
cmp dword [ebx + 0x1894], 1
jl 0x100bdec7
cmp dword [ebx + 0x186c], 1
jl 0x100bdec7
push str.DISTORTION
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x46
mov byte [ebp - 0x385], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x388], 0xffff
mov byte [ebp - 0x386], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x47
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x48
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x49
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0xd
jne 0x100bdf4a
test ebx, ebx
je 0x100bdf4a
cmp byte [ebx + 0x187a], 0
je 0x100bdf4a
push 0x100dab48
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x4a
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x18], 0xffff
mov byte [ebp - 0x16], 0xff
call fcn.1002d3a0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x4b
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x4c
call fcn.1002d2f0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x4d
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov esi, dword [ebp - 0x38c]
add dword [ebp - 0x1c], 4
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x98]
call fcn.1002cc60
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
jne 0x100bd3b0
cmp byte [ebp - 0x365], 0
je 0x100be101
test ebx, ebx
je 0x100be101
mov eax, dword [0x101d03bc]
mov ecx, dword [ebp - 0x38c]
add eax, 0xffffffca
xor eax, 0x197e0968
mov al, byte [eax + ecx]
test al, al
jne 0x100be101
mov eax, dword [0x101d03dc]
add eax, 0xffffffc2
xor eax, 0x197e0970
cmp dword [eax + ecx], 0
jle 0x100be101
cmp byte [ebp - 0x366], 0
jne 0x100be101
mov eax, dword [0x101afa2c]
test eax, eax
je 0x100be028
cmp byte [eax + 0x18b8], 0
je 0x100be028
cmp ecx, dword [eax + 0x1824]
jne 0x100be028
push str.OVERRIDE
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x18], 0xff3cc896
call fcn.1002d340
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x4f
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
cmp byte [ebx + 0x183c], 0
je 0x100be08a
cmp byte [0x101cc9d4], 0
je 0x100be04f
cmp byte [ebx + 0x183d], 0
je 0x100be04f
mov dword [ebp - 0x18], 0xff3cc896
mov esi, dword [ebp - 0x18]
jmp 0x100be055
mov esi, dword [0x101ce6b4]
push 0x100dab3c
lea ecx, [ebp - 0x3b8]
call fcn.1002d340
mov dword [ebp - 0x3a0], esi
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x50
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x3b8]
jmp 0x100be0f8
cmp byte [ebx + 0x183f], 0
je 0x100be101
push str.PANDORA
lea ecx, [ebp - 0x80]
call fcn.1002d340
mov eax, dword [ebp - 0x36c]
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x52
mov byte [ebp - 0x15], al
lea eax, [ebp - 0x80]
push eax
mov word [ebp - 0x18], 0x93a6
mov byte [ebp - 0x16], 0xf3
call fcn.1002d3a0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3a0], eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x53
push eax
lea ecx, [ebp - 0x44]
call fcn.1008e320
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 0x54
call fcn.1002d2f0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x80]
call fcn.1002d2f0
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x44]
xor esi, esi
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov dword [ebp - 0x378], eax
mov eax, 0x92492493
mov dword [ebp - 0x28], esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100be2d0
mov edi, dword [ebp - 0x378]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
nop dword [eax + eax]
movd xmm1, dword [ebp - 0x48]
mov eax, esi
movd xmm0, esi
add ebx, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cvtdq2ps xmm1, xmm1
addsd xmm0, qword [eax*8 + 0x100daf00]
subss xmm1, dword [0x101cd110]
cvtpd2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x3c4]
test eax, eax
jle 0x100be24b
mov esi, ebx
cmp eax, 1
jne 0x100be1c9
cmp dword [ebx + 0x14], 0x10
jb 0x100be197
mov esi, dword [ebx]
lea eax, [ebp - 0x390]
mov ecx, ebx
push eax
call fcn.10049f80
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x100be1af
mov ecx, dword [ebx]
mov byte [ebp - 4], 0x56
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov edx, dword [eax]
push esi
push dword [ebp - 0x378]
call fcn.100c2ac0
jmp 0x100be244
cmp eax, 2
jne 0x100be208
cmp dword [ebx + 0x14], 0x10
jb 0x100be1d6
mov esi, dword [ebx]
lea eax, [ebp - 0x388]
mov ecx, ebx
push eax
call fcn.10049f80
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x100be1ee
mov ecx, dword [ebx]
mov byte [ebp - 4], 0x57
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov edx, dword [eax]
push esi
push dword [ebp - 0x378]
call fcn.100c2ac0
jmp 0x100be244
cmp dword [ebx + 0x14], 0x10
jb 0x100be210
mov esi, dword [ebx]
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.10049f80
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x100be225
mov ecx, dword [ebx]
mov byte [ebp - 4], 0x58
mov edx, dword [eax]
mov byte [ebp - 0x378], 1
push dword [ebp - 0x378]
push esi
push dword [ebp - 0x378]
call fcn.100c2c70
add esp, 0xc
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x80]
add dword [ebp - 0x398], eax
mov edx, dword [ebp - 0x18]
mov esi, dword [ebx + 0x18]
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x30]
add eax, 2
lea edx, [edx + edi]
add ebx, eax
call fcn.100b1920
push 0
push eax
push esi
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x50]
push dword [ebp - 0x398]
push ebx
call fcn.100b3ab0
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x5a
call fcn.100591a0
mov byte [ebp - 4], 0x12
mov eax, 0x92492493
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x44]
sub ecx, edi
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
inc esi
imul ecx
add ebx, 0x1c
mov dword [ebp - 0x28], esi
add edx, ecx
mov dword [ebp - 0x18], ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x100be140
mov edi, dword [ebp - 0x3c8]
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x5b
call fcn.1002ce80
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0x5c
call fcn.1008df00
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x388], ecx
cmp byte [ebp - 0x365], cl
je 0x100be930
cmp byte [0x101b78ac], cl
je 0x100be47c
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x18d8
lea esi, [eax + 0x100e9b44]
test esi, esi
je 0x100be47c
cmp dword [esi + 0x10], 0
je 0x100be47c
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.1002df10
mov ecx, eax
mov dword [ebp - 4], 0x5d
call fcn.1002e210
mov dword [ebp - 4], 0xffffffff
mov edi, dword [eax]
movss xmm1, dword [edi + 0x44]
movss xmm0, dword [edi + 0x40]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10027c60
movss xmm1, dword [0x100dac3c]
comiss xmm1, xmm0
ja 0x100be393
cmp byte [edi + 0x3464], 0
je 0x100be47c
movss xmm0, dword [esi + 0x1880]
subss xmm0, dword [edi + 0x346c]
movss xmm1, dword [0x100dacdc]
mov dword [ebp - 0x390], 0x3f8ccccd
mov dword [ebp - 0x378], 0
comiss xmm0, xmm1
movss dword [ebp - 0x398], xmm0
ja 0x100be3e5
xorps xmm1, xmm1
lea eax, [ebp - 0x378]
comiss xmm0, xmm1
lea ecx, [ebp - 0x398]
cmovae eax, ecx
movss xmm1, dword [eax]
movd xmm0, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
xorps xmm1, xmm1
mulss xmm0, dword [0x100dacc4]
comiss xmm0, xmm1
movss dword [ebp - 0x378], xmm0
jbe 0x100be47c
push ecx
mov ecx, dword [ebp - 0x36c]
mov eax, esp
push 4
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
dec eax
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
add edx, eax
call fcn.100b34f0
mov eax, dword [0x101b7950]
add esp, 0xc
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x3bc]
mov byte [ebp - 0x25], al
lea ecx, [ecx + 1]
cvttss2si eax, dword [ebp - 0x378]
push dword [ebp - 0x28]
push 2
push eax
mov eax, dword [ebp - 0x34]
add eax, 3
add edx, eax
call fcn.100b34b0
mov edi, 5
add esp, 0xc
mov dword [ebp - 0x388], edi
jmp 0x100be47e
xor edi, edi
cmp byte [0x101b7458], 0
jne 0x100be494
cmp byte [0x101b74e0], 0
je 0x100be930
mov ecx, dword [0x101d0178]
mov eax, dword [0x101d0470]
mov ebx, dword [ebp - 0x38c]
add eax, 0xffffff9d
push ecx
mov edx, dword [ecx]
xor eax, 0x197e0995
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [ebx + eax]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x3c0], esi
test esi, esi
je 0x100be930
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100be930
mov eax, dword [eax + 0x14]
xorps xmm1, xmm1
mov dword [ebp - 0x24], eax
mov eax, dword [0x101d0490]
add eax, 0xffffff95
xor eax, 0x197e099d
mov ecx, dword [esi + eax]
mov eax, dword [0x101d0334]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + ebx]
mov dword [ebp - 0x390], ecx
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100be564
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x101d02f0]
mov dword [ebp - 0x398], ecx
mov ecx, dword [0x101d0354]
mov dword [ebp - 0x378], eax
cmp dword [ecx + ebx], 0
jne 0x100be54e
mov eax, dword [0x101d02cc]
mov ecx, ebx
call eax
mov ecx, dword [0x101d0354]
mov eax, dword [ebp - 0x378]
mov ecx, dword [ecx + ebx]
mov edx, eax
call dword [ebp - 0x398]
cmp eax, 0x3c7
jne 0x100be564
mov al, 1
jmp 0x100be566
xor al, al
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 0x36d], al
cmp ecx, 0xffffffff
je 0x100be705
cmp byte [0x101b76e0], 0
je 0x100be705
test al, al
je 0x100be596
mov eax, dword [ebp - 0x390]
movss xmm1, dword [eax + 0x64]
jmp 0x100be5a9
movd xmm1, dword [ebp - 0x18]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x30]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
mov ebx, dword [ebp - 0x36c]
mov eax, esp
push 4
fstp dword [ebp - 0x380]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
mov byte [eax + 3], bl
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
add ecx, edi
push dword [ebp - 0x30]
add edx, 2
add edx, ecx
mov ecx, dword [ebp - 0x38]
call fcn.100b34f0
mov eax, dword [0x101b780c]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
add ecx, edi
mov dword [ebp - 0x28], eax
add edx, 3
mov eax, dword [ebp - 0x3bc]
add edx, ecx
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x25], al
cvttss2si eax, dword [ebp - 0x380]
lea ecx, [ecx + 1]
push dword [ebp - 0x28]
push 2
push eax
call fcn.100b34b0
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x80]
add esp, 0xc
call fcn.100451f0
mov dword [ebp - 4], 0x5e
mov eax, 0x66666667
imul dword [ebp - 0x24]
sub esp, 8
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_round]
fstp qword [ebp - 0x37c]
cvttsd2si eax, qword [ebp - 0x37c]
add esp, 8
cmp dword [ebp - 0x18], eax
jg 0x100be6e4
cmp byte [ebp - 0x36d], 0
jne 0x100be6e4
cvttss2si esi, dword [ebp - 0x380]
add edi, dword [ebp - 0x34]
lea edx, [ebp - 0x80]
add edi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x68]
mov word [ebp - 0x18], 0xffff
mov byte [ebp - 0x16], 0xff
mov byte [ebp - 0x15], bl
add esi, dword [ebp - 0x38]
call fcn.100b1920
push 2
push eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x50]
push dword [ebp - 0x18]
push edi
push esi
call fcn.100b3ab0
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x60
call fcn.100591a0
mov edi, dword [ebp - 0x388]
mov esi, dword [ebp - 0x3c0]
add edi, 6
mov dword [ebp - 0x388], edi
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x61
call fcn.1002d2f0
mov dword [ebp - 4], 0xffffffff
jmp 0x100be70b
mov ebx, dword [ebp - 0x36c]
cmp byte [0x101b74e0], 0
je 0x100be8ad
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
call fcn.100b8290
mov dword [ebp - 4], 0x62
mov eax, dword [ebp - 0x3c4]
test eax, eax
jle 0x100be824
cmp eax, 1
jne 0x100be786
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x378]
lea esi, [ebp - 0x68]
cmovae esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x68]
push eax
call fcn.10049f80
cmp dword [ebp - 0x54], 0x10
lea ecx, [ebp - 0x68]
cmovae ecx, dword [ebp - 0x68]
mov byte [ebp - 4], 0x63
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov edx, dword [eax]
push esi
push dword [ebp - 0x378]
call fcn.100c2ac0
add esp, 0xc
mov byte [ebp - 4], 0x62
jmp 0x100be872
cmp eax, 2
jne 0x100be7c5
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x378]
lea esi, [ebp - 0x68]
cmovae esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x68]
push eax
call fcn.10049f80
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
cmp dword [ebp - 0x54], 0x10
lea ecx, [ebp - 0x68]
push esi
cmovae ecx, dword [ebp - 0x68]
push dword [eax]
push ecx
lea ecx, [ebp - 0x398]
jmp 0x100be865
push 1
lea ecx, [ebp - 0x381]
call fcn.100be990
lea ecx, [ebp - 0x68]
mov al, byte [eax]
mov byte [ebp - 0x378], al
lea eax, [ebp - 0x398]
push eax
call fcn.1003be30
lea ecx, [ebp - 0x68]
mov edi, dword [eax]
lea eax, [ebp - 0x390]
push eax
call fcn.10049f80
lea ecx, [ebp - 0x68]
mov esi, dword [eax]
lea eax, [ebp - 0x3c4]
push eax
call fcn.1003be30
push dword [ebp - 0x378]
mov edx, 0x100d37e4
lea ecx, [ebp - 0x28]
push edi
push esi
push dword [eax]
call fcn.100c1f30
jmp 0x100be86f
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x68]
call fcn.1003be30
lea ecx, [ebp - 0x68]
mov edi, dword [eax]
lea eax, [ebp - 0x398]
push eax
call fcn.10049f80
lea ecx, [ebp - 0x68]
mov esi, dword [eax]
lea eax, [ebp - 0x390]
push eax
call fcn.1003be30
push dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
lea ecx, [ebp - 0x3c4]
push edi
push esi
push dword [eax]
mov edx, 0x100d37e4
call fcn.100c1d80
add esp, 0x10
push 2
lea eax, [ebp - 0x68]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x50]
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], bl
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x388]
add eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x38]
push eax
call fcn.100b3920
lea ecx, [ebp - 0x68]
jmp 0x100be92b
cmp byte [0x101b7458], 0
je 0x100be930
mov eax, dword [0x101d048c]
mov ecx, 0x101d7524
add eax, 0xffffff96
sub edi, 5
xor eax, 0x197e099c
add eax, esi
push eax
call fcn.100c19f0
push eax
mov edx, 0x100daacc
lea ecx, [ebp - 0xb0]
call fcn.100c1df0
add esp, 4
push 2
lea eax, [ebp - 0xb0]
mov dword [ebp - 4], 0x64
push eax
push ecx
mov eax, esp
mov ecx, 0x101d4b04
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov byte [eax + 3], bl
mov eax, dword [ebp - 0x34]
add eax, edi
add eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x38]
push eax
call fcn.100b3920
lea ecx, [ebp - 0xb0]
call fcn.1002d2f0
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.100c4f7f
mov esp, ebp
pop ebp
ret 4