Function at 0x152cc30
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xf6e28a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5ec
push esi
push edi
mov dword [ebp - 0x10], 0
mov dword [ebp - 4], 7
lea eax, [ebp - 0x1f8]
push eax
lea ecx, [ebp + 8]
call fcn.0154a8f0
lea ecx, [ebp + 8]
mov edi, dword [eax]
lea eax, [ebp - 0x1c]
push eax
call fcn.0154a8d0
lea ecx, [ebp + 8]
mov esi, dword [eax]
lea eax, [ebp - 0x24]
push eax
call fcn.0154a8f0
push edi
push esi
lea ecx, [ebp - 0x30]
push dword [eax]
call fcn.0154f990
add esp, 0xc
cmp byte [0xfab0a8], 2
jne 0x152fb78
lea eax, [ebp - 0x22c]
mov ecx, 0xfab0a8
push eax
call fcn.015482c0
lea eax, [ebp - 0x474]
push eax
call fcn.01548250
lea eax, [ebp - 0x474]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01547d40
test al, al
je 0x152fb78
push 0x6a
call fcn.0154bea0
mov byte [ebp - 0x29], al
nop word [eax + eax]
lea ecx, [ebp - 0x22c]
call fcn.01547e50
mov edi, eax
lea eax, [ebp - 0x483]
push eax
call fcn.0152fc10
mov esi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [esi + edx]
push ecx
call fcn.0154bea0
mov byte [esi + edx], al
inc edx
cmp edx, 7
jb 0x152cd10
push esi
mov ecx, edi
call fcn.0154f1b0
lea ecx, [ebp - 0x4fc]
push ecx
mov ecx, eax
call fcn.0154f2f0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x505]
push eax
call fcn.0152fc30
mov esi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 8
jb 0x152cd50
push esi
mov ecx, edi
call fcn.0154f1b0
lea ecx, [ebp - 0x4e4]
push ecx
mov ecx, eax
call fcn.0154f2f0
mov byte [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x9c], 0x2d152e26
mov word [ebp - 0x98], 0x252f
mov byte [ebp - 0x96], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x9c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x9c], al
inc ecx
cmp ecx, 6
jb 0x152cda0
lea eax, [ebp - 0x9c]
mov ecx, edi
push eax
call fcn.0154f1b0
lea ecx, [ebp - 0x30c]
push ecx
mov ecx, eax
call fcn.0154f2f0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x47b]
push eax
call fcn.0152fc50
mov esi, eax
xor edx, edx
nop dword [eax + eax]
movzx ecx, byte [esi + edx]
push ecx
call fcn.0154bea0
mov byte [esi + edx], al
inc edx
cmp edx, 6
jb 0x152cdf0
push esi
mov ecx, edi
call fcn.0154f1b0
lea ecx, [ebp - 0x334]
push ecx
mov ecx, eax
call fcn.0154f2f0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp - 0x30c]
call fcn.0154a8f0
lea ecx, [ebp - 0x30c]
mov edi, dword [eax]
lea eax, [ebp - 0x418]
push eax
call fcn.0154a8d0
lea ecx, [ebp - 0x30c]
mov esi, dword [eax]
lea eax, [ebp - 0x414]
push eax
call fcn.0154a8f0
push edi
push esi
lea ecx, [ebp - 0x410]
push dword [eax]
call fcn.0154f990
add esp, 0xc
nop dword [eax]
mov al, byte [ebp - 0x29]
lea ecx, [ebp - 0x79]
cmp dword [ebp - 0x2f8], 0x10
mov byte [ebp - 0x79], al
lea eax, [ebp - 0x30c]
cmovae eax, dword [ebp - 0x30c]
push ecx
push eax
mov byte [ebp - 0x78], 0
call fcn.015bcb90
add esp, 8
test eax, eax
je 0x152cfb5
xorps xmm0, xmm0
mov dword [ebp - 0x3b4], 0
movups xmmword [ebp - 0x3c4], xmm0
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3b0], 0xf
mov byte [ebp - 0x3c4], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x35]
mov al, byte [ebp - 0x29]
lea edx, [ecx + 1]
mov byte [ebp - 0x34], 0
mov byte [ebp - 0x35], al
movups xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152cf10
sub ecx, edx
lea eax, [ebp - 0x35]
push ecx
push eax
lea ecx, [ebp - 0x2c4]
call fcn.014ee2a0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x3c4]
push eax
lea edx, [ebp - 0x2c4]
lea ecx, [ebp - 0x30c]
call fcn.014f3bc0
add esp, 4
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2b0]
cmp ecx, 0x10
jb 0x152cf86
mov edx, dword [ebp - 0x2c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152cf7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3c4]
call fcn.014ee090
jmp 0x152ce70
push 0x66
mov byte [ebp - 0x76], 0
call fcn.0154bea0
sub esp, 0x18
mov byte [ebp - 0x1d], al
mov byte [ebp - 0x77], al
mov ecx, esp
lea eax, [ebp - 0x77]
mov dword [ebp - 0x40c], esp
push eax
call fcn.014edf90
mov byte [ebp - 4], 0xe
sub esp, 0x18
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x408], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3a0]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0x10
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x39c]
mov edi, dword [ebp - 0x3a0]
sub ecx, edi
imul ecx
mov dword [ebp - 0x28], 0
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1c], eax
je 0x152d0b9
mov eax, dword [ebp - 0x28]
nop dword [eax]
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp + 8]
mov esi, dword [edi + 0x10]
mov edx, edi
cmovae ecx, dword [ebp + 8]
cmp dword [edi + 0x14], 0x10
jb 0x152d058
mov edx, dword [edi]
cmp esi, dword [ebp + 0x18]
jne 0x152d0a8
sub esi, 4
jb 0x152d073
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x152d078
add edx, 4
add ecx, 4
sub esi, 4
jae 0x152d062
cmp esi, 0xfffffffc
je 0x152d0b9
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x152d0a5
cmp esi, 0xfffffffd
je 0x152d0b9
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x152d0a5
cmp esi, 0xfffffffe
je 0x152d0b9
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x152d0a5
cmp esi, 0xffffffff
je 0x152d0b9
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x152d0b9
mov eax, dword [ebp - 0x28]
inc eax
add edi, 0x18
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x1c]
jb 0x152d040
jmp 0x152fad5
mov al, byte [ebp - 0x1d]
lea ecx, [ebp - 0x37]
sub esp, 0x18
mov byte [ebp - 0x18], 0
mov edx, esp
mov byte [ebp - 0x36], 0
xorps xmm0, xmm0
mov byte [ebp - 0x37], al
mov dword [ebp - 0x404], esp
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152d0f0
sub ecx, esi
lea eax, [ebp - 0x37]
push ecx
push eax
mov ecx, edx
call fcn.014ee2a0
mov byte [ebp - 4], 0x11
sub esp, 0x18
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0x400], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x26c]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov esi, dword [ebp - 0x268]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0x26c]
mov dword [ebp - 0x28], ecx
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x152eef8
mov esi, dword [ebp - 0x28]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x3fc], esp
lea eax, [esi + esi*2]
lea eax, [edi + eax*8]
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x14
sub esp, 0x10
lea eax, [ebp + 0x20]
mov dword [ebp - 0x3f8], esp
mov ecx, esp
push eax
call fcn.01548750
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x27c]
call fcn.014ff530
add esp, 0x28
mov byte [ebp - 4], 0x16
xorps xmm0, xmm0
xor edx, edx
mov byte [ebp - 0x31c], 0
lea ecx, [ebp - 0x31c]
movq qword [ebp - 0x314], xmm0
call fcn.0155ff40
mov byte [ebp - 4], 0x17
mov edx, ecx
lea ecx, [ebp - 0x27c]
call fcn.01553940
mov byte [ebp - 0x11], al
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x314]
push dword [ebp - 0x31c]
call fcn.0154c140
cmp byte [ebp - 0x11], 0
jne 0x152eeb5
movaps xmm0, xmmword [0xf96220]
xor ecx, ecx
movups xmmword [ebp - 0x157], xmm0
mov word [ebp - 0x147], 0x392f
mov byte [ebp - 0x145], 0
nop dword [eax]
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x157]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x157], al
inc ecx
cmp ecx, 0x12
jb 0x152d230
lea eax, [ebp - 0x157]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0154f1b0
lea edx, [ebp - 0x31]
mov ecx, eax
call fcn.0155fec0
movaps xmm0, xmmword [0xf96a80]
xor ecx, ecx
movups xmmword [ebp - 0x159], xmm0
mov dword [ebp - 0x149], 0x392e3825
mov byte [ebp - 0x145], 0
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x159]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x159], al
inc ecx
cmp ecx, 0x14
jb 0x152d290
lea eax, [ebp - 0x159]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0154f1b0
lea edx, [ebp - 0x32]
mov ecx, eax
call fcn.0155fec0
movaps xmm0, xmmword [0xf96420]
xor ecx, ecx
movups xmmword [ebp - 0x157], xmm0
mov word [ebp - 0x147], 0x3338
mov byte [ebp - 0x145], 0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x157]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x157], al
inc ecx
cmp ecx, 0x12
jb 0x152d2f0
lea eax, [ebp - 0x157]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0154f1b0
lea edx, [ebp - 0x33]
mov ecx, eax
call fcn.0155fec0
mov dword [ebp - 0x102], 0x21382b27
xor ecx, ecx
mov dword [ebp - 0xfe], 0x27252e15
mov dword [ebp - 0xfa], 0x3924232b
mov byte [ebp - 0xf6], 0
nop
movzx eax, byte [ebp + ecx - 0x102]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x102], al
inc ecx
cmp ecx, 0xc
jb 0x152d350
lea eax, [ebp - 0x102]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0154f1b0
lea ecx, [ebp - 0x49c]
push ecx
mov ecx, eax
call fcn.0154f2f0
mov byte [ebp - 4], 0x18
sub esp, 0x18
mov al, byte [ebp - 0x1d]
lea ecx, [ebp - 0x39]
mov edx, esp
mov byte [ebp - 0x38], 0
xorps xmm0, xmm0
mov byte [ebp - 0x39], al
mov dword [ebp - 0x3f4], esp
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152d3c0
sub ecx, esi
lea eax, [ebp - 0x39]
push ecx
push eax
mov ecx, edx
call fcn.014ee2a0
mov byte [ebp - 4], 0x19
sub esp, 0x18
lea eax, [ebp - 0x49c]
mov dword [ebp - 0x3f0], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x248]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0x1b
cmp byte [ebp - 0x31], 0
je 0x152e014
movzx eax, byte [ebp + 0x30]
sub eax, 0
je 0x152d9be
sub eax, 1
je 0x152d438
sub eax, 1
jne 0x152d446
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152d43e
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152d9be
mov byte [ebp - 4], 0x1c
push 0x38
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x10c]
mov esi, dword [ebp - 0x10]
lea ecx, [ebp + 0x30]
or esi, 0x4000000
mov dword [ebp - 0x10], esi
call fcn.01560170
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
cmp byte [eax + 0xd], 0
jne 0x152d988
nop
cmp byte [ebp - 0x18], 0
jne 0x152d985
mov cl, byte [eax + 0x28]
lea esi, [eax + 0x28]
test cl, cl
je 0x152d970
movzx ecx, cl
sub ecx, 0
je 0x152d970
sub ecx, 1
je 0x152d4eb
sub ecx, 1
jne 0x152d4f9
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152d4f1
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152d970
lea eax, [ebp - 0x20c]
mov ecx, esi
push eax
call fcn.015482c0
movzx eax, byte [esi]
mov ecx, eax
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0x80000000
sub ecx, 1
je 0x152d586
sub ecx, 1
je 0x152d578
mov dword [ebp - 0x1b8], 0x80000000
sub eax, 1
je 0x152d586
sub eax, 1
je 0x152d578
mov dword [ebp - 0x1b8], 1
jmp 0x152d591
mov eax, dword [esi + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1bc], eax
jmp 0x152d591
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1c0], eax
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x20c]
call fcn.01547d40
test al, al
je 0x152d970
nop dword [eax + eax]
lea ecx, [ebp - 0x20c]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152d970
mov byte [ebp - 4], 0x1e
push 0x38
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x11c]
or dword [ebp - 0x10], 0x2000000
mov ecx, esi
call fcn.01560170
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp byte [eax + 0xd], 0
jne 0x152d8e6
nop word [eax + eax]
cmp byte [ebp - 0x18], 0
jne 0x152d8e6
lea ecx, [eax + 0x28]
movzx eax, byte [ecx]
sub eax, 0
je 0x152d8d1
sub eax, 1
je 0x152d660
sub eax, 1
jne 0x152d66e
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x152d666
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
test edx, edx
je 0x152d8d1
lea eax, [ebp - 0x23c]
push eax
call fcn.015482c0
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0x80000000
sub edx, 1
je 0x152d6f9
sub edx, 1
je 0x152d6eb
mov dword [ebp - 0x178], 0x80000000
sub eax, 1
je 0x152d6f9
sub eax, 1
je 0x152d6eb
mov dword [ebp - 0x178], 1
jmp 0x152d704
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x17c], eax
jmp 0x152d704
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x23c]
call fcn.01547d40
test al, al
je 0x152d8d1
nop
lea ecx, [ebp - 0x23c]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152d8d1
xorps xmm0, xmm0
mov dword [ebp - 0x33c], 0
movups xmmword [ebp - 0x34c], xmm0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x338], 0xf
mov byte [ebp - 0x34c], 0
mov byte [ebp - 4], 0x20
xor ecx, ecx
mov dword [ebp - 0x87], 0x2b27252e
mov word [ebp - 0x83], 0x2423
mov byte [ebp - 0x81], 0
movzx eax, byte [ebp + ecx - 0x87]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x87], al
inc ecx
cmp ecx, 6
jb 0x152d790
lea eax, [ebp - 0x87]
mov ecx, esi
push eax
call fcn.0154f1b0
cmp byte [eax], 0
je 0x152d7fd
mov dword [ebp - 0x80], 0x2b27252e
xor ecx, ecx
mov word [ebp - 0x7c], 0x2423
mov byte [ebp - 0x7a], 0
movzx eax, byte [ebp + ecx - 0x80]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x80], al
inc ecx
cmp ecx, 6
jb 0x152d7d1
lea eax, [ebp - 0x80]
mov ecx, esi
push eax
call fcn.0154f1b0
push eax
lea ecx, [ebp - 0x34c]
call fcn.01556190
push 0x64
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x74], 0
call fcn.0154bea0
sub esp, 0x18
mov byte [ebp - 0x75], al
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x3ec], esp
mov ecx, esp
lea edx, [ebp - 0x75]
push eax
call fcn.0154ef10
mov byte [ebp - 4], 0x21
sub esp, 8
lea eax, [ebp - 0x248]
mov dword [ebp - 0x3e8], esp
mov ecx, esp
push eax
call fcn.01549aa0
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0x20
mov cl, byte [ebp - 0x11]
call fcn.014ff810
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x34c]
call fcn.014ee090
mov eax, dword [ebp - 0x23c]
movzx eax, byte [eax]
sub eax, 1
je 0x152d89d
sub eax, 1
je 0x152d894
inc dword [ebp - 0x230]
jmp 0x152d8b7
add dword [ebp - 0x234], 0x10
jmp 0x152d8b7
mov eax, dword [ebp - 0x238]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x23c]
call fcn.01547d40
test al, al
jne 0x152d720
lea ecx, [ebp - 0x24]
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x152d630
and dword [ebp - 0x10], 0xfdffffff
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x11c]
push dword [eax + 4]
lea eax, [ebp - 0x11c]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x11c]
call fcn.015a54b1
mov eax, dword [ebp - 0x20c]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x152d93c
sub eax, 1
je 0x152d933
inc dword [ebp - 0x200]
jmp 0x152d956
add dword [ebp - 0x204], 0x10
jmp 0x152d956
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x20c]
call fcn.01547d40
test al, al
jne 0x152d5b0
lea ecx, [ebp - 0x1c]
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0xd], 0
je 0x152d4b0
mov esi, dword [ebp - 0x10]
and esi, 0xfbffffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x10c]
push dword [eax + 4]
lea eax, [ebp - 0x10c]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x10c]
call fcn.015a54b1
add esp, 8
jmp 0x152d9c1
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
test dl, dl
jne 0x152e017
movzx eax, byte [ebp + 0x40]
sub eax, 0
je 0x152e017
sub eax, 1
je 0x152d9f0
sub eax, 1
jne 0x152d9fe
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152d9f6
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152e017
mov byte [ebp - 4], 0x25
push 0x38
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 0x25
or esi, 0x1000000
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x10], esi
lea ecx, [ebp + 0x40]
call fcn.01560170
mov eax, dword [ebp - 0x13c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
cmp byte [eax + 0xd], 0
jne 0x152dfe0
cmp byte [ebp - 0x18], 0
jne 0x152dfdd
mov cl, byte [eax + 0x28]
lea esi, [eax + 0x28]
test cl, cl
je 0x152dfc8
movzx ecx, cl
sub ecx, 0
je 0x152dfc8
sub ecx, 1
je 0x152da9f
sub ecx, 1
jne 0x152daad
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152daa5
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152dfc8
lea eax, [ebp - 0x21c]
mov ecx, esi
push eax
call fcn.015482c0
movzx eax, byte [esi]
mov ecx, eax
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x80000000
sub ecx, 1
je 0x152db3a
sub ecx, 1
je 0x152db2c
mov dword [ebp - 0x198], 0x80000000
sub eax, 1
je 0x152db3a
sub eax, 1
je 0x152db2c
mov dword [ebp - 0x198], 1
jmp 0x152db45
mov eax, dword [esi + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x19c], eax
jmp 0x152db45
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x21c]
call fcn.01547d40
test al, al
je 0x152dfc8
nop
lea ecx, [ebp - 0x21c]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152dfc8
mov byte [ebp - 4], 0x27
push 0x38
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x144]
or dword [ebp - 0x10], 0x400000
mov ecx, esi
call fcn.01560170
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp byte [eax + 0xd], 0
jne 0x152df3e
nop word [eax + eax]
cmp byte [ebp - 0x18], 0
jne 0x152df3e
lea ecx, [eax + 0x28]
movzx eax, byte [ecx]
sub eax, 0
je 0x152df29
sub eax, 1
je 0x152dc10
sub eax, 1
jne 0x152dc1e
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x152dc16
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
test edx, edx
je 0x152df29
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0x80000000
sub edx, 1
je 0x152dcad
sub edx, 1
je 0x152dca0
mov dword [ebp - 0xb0], 0x80000000
sub eax, 0
je 0x152dc94
sub eax, 1
je 0x152dcad
sub eax, 1
je 0x152dca0
mov dword [ebp - 0xb0], 0
jmp 0x152dcba
mov dword [ebp - 0xb0], 1
jmp 0x152dcba
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
jmp 0x152dcba
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0x80000000
sub edx, 1
je 0x152dd39
sub edx, 1
je 0x152dd2b
mov dword [ebp - 0x1a8], 0x80000000
sub eax, 1
je 0x152dd39
sub eax, 1
je 0x152dd2b
mov dword [ebp - 0x1a8], 1
jmp 0x152dd44
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1ac], eax
jmp 0x152dd44
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xbc]
call fcn.01547d40
test al, al
je 0x152df29
nop
lea ecx, [ebp - 0xbc]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152df29
xorps xmm0, xmm0
mov dword [ebp - 0x354], 0
movups xmmword [ebp - 0x364], xmm0
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0xf
mov byte [ebp - 0x364], 0
mov byte [ebp - 4], 0x29
xor ecx, ecx
mov dword [ebp - 0x8e], 0x2b27252e
mov word [ebp - 0x8a], 0x2423
mov byte [ebp - 0x88], 0
movzx eax, byte [ebp + ecx - 0x8e]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x8e], al
inc ecx
cmp ecx, 6
jb 0x152ddd0
lea eax, [ebp - 0x8e]
mov ecx, esi
push eax
call fcn.0154f1b0
cmp byte [eax], 0
je 0x152de55
mov dword [ebp - 0x95], 0x2b27252e
xor ecx, ecx
mov word [ebp - 0x91], 0x2423
mov byte [ebp - 0x8f], 0
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x95]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x95], al
inc ecx
cmp ecx, 6
jb 0x152de20
lea eax, [ebp - 0x95]
mov ecx, esi
push eax
call fcn.0154f1b0
push eax
lea ecx, [ebp - 0x364]
call fcn.01556190
push 0x64
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x72], 0
call fcn.0154bea0
sub esp, 0x18
mov byte [ebp - 0x73], al
lea eax, [ebp - 0x364]
mov dword [ebp - 0x3e4], esp
mov ecx, esp
lea edx, [ebp - 0x73]
push eax
call fcn.0154ef10
mov byte [ebp - 4], 0x2a
sub esp, 8
lea eax, [ebp - 0x248]
mov dword [ebp - 0x3e0], esp
mov ecx, esp
push eax
call fcn.01549aa0
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x29
mov cl, byte [ebp - 0x11]
call fcn.014ff810
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x364]
call fcn.014ee090
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax]
sub eax, 1
je 0x152def5
sub eax, 1
je 0x152deec
inc dword [ebp - 0xb0]
jmp 0x152df0f
add dword [ebp - 0xb4], 0x10
jmp 0x152df0f
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x1b4]
push eax
lea ecx, [ebp - 0xbc]
call fcn.01547d40
test al, al
jne 0x152dd60
lea ecx, [ebp - 0x24]
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x152dbe0
and dword [ebp - 0x10], 0xffbfffff
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x144]
push dword [eax + 4]
lea eax, [ebp - 0x144]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x144]
call fcn.015a54b1
mov eax, dword [ebp - 0x21c]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x152df94
sub eax, 1
je 0x152df8b
inc dword [ebp - 0x210]
jmp 0x152dfae
add dword [ebp - 0x214], 0x10
jmp 0x152dfae
mov eax, dword [ebp - 0x218]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x21c]
call fcn.01547d40
test al, al
jne 0x152db60
lea ecx, [ebp - 0x30]
call fcn.0154c0e0
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0xd], 0
je 0x152da64
mov esi, dword [ebp - 0x10]
and esi, 0xfeffffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x13c]
push dword [eax + 4]
lea eax, [ebp - 0x13c]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x13c]
call fcn.015a54b1
add esp, 8
mov edx, dword [ebp - 0x18]
cmp byte [ebp - 0x32], 0
je 0x152e79b
test dl, dl
jne 0x152e3e0
movzx eax, byte [ebp + 0x50]
sub eax, 0
je 0x152e3e0
sub eax, 1
je 0x152e04d
sub eax, 1
jne 0x152e05b
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152e053
mov eax, dword [ebp + 0x58]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152e3e0
mov byte [ebp - 4], 0x2e
push 0x38
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x114], eax
mov byte [ebp - 4], 0x2e
lea edx, [ebp - 0x114]
mov esi, dword [ebp - 0x10]
lea ecx, [ebp + 0x50]
or esi, 0x800000
mov dword [ebp - 0x10], esi
call fcn.01560170
mov eax, dword [ebp - 0x114]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp byte [eax + 0xd], 0
jne 0x152e3a7
cmp byte [ebp - 0x18], 0
jne 0x152e3a4
lea ecx, [eax + 0x28]
mov dword [ebp - 0xa8], 0
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0x80000000
sub edx, 1
je 0x152e160
sub edx, 1
je 0x152e153
mov dword [ebp - 0xa0], 0x80000000
sub eax, 0
je 0x152e147
sub eax, 1
je 0x152e160
sub eax, 1
je 0x152e153
mov dword [ebp - 0xa0], 0
jmp 0x152e16d
mov dword [ebp - 0xa0], 1
jmp 0x152e16d
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
jmp 0x152e16d
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0x80000000
sub edx, 1
je 0x152e1ec
sub edx, 1
je 0x152e1de
mov dword [ebp - 0x188], 0x80000000
sub eax, 1
je 0x152e1ec
sub eax, 1
je 0x152e1de
mov dword [ebp - 0x188], 1
jmp 0x152e1f7
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18c], eax
jmp 0x152e1f7
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0xac]
call fcn.01547d40
test al, al
je 0x152e38f
lea ecx, [ebp - 0xac]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152e38f
xorps xmm0, xmm0
mov dword [ebp - 0x36c], 0
movups xmmword [ebp - 0x37c], xmm0
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], 0xf
mov byte [ebp - 0x37c], 0
mov byte [ebp - 4], 0x30
xor ecx, ecx
mov dword [ebp - 0x58], 0x26383f
nop
movzx eax, byte [ebp + ecx - 0x58]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x58], al
inc ecx
cmp ecx, 3
jb 0x152e270
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.0154f1b0
cmp byte [eax], 0
je 0x152e2cc
mov dword [ebp - 0x5c], 0x26383f
xor ecx, ecx
nop
movzx eax, byte [ebp + ecx - 0x5c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x5c], al
inc ecx
cmp ecx, 3
jb 0x152e2a0
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
call fcn.0154f1b0
push eax
lea ecx, [ebp - 0x37c]
call fcn.01556190
sub esp, 0x18
mov byte [ebp - 0x11], 1
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x3dc], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x31
sub esp, 0xc
lea eax, [ebp - 0x248]
mov dword [ebp - 0x3d8], esp
mov ecx, esp
push eax
call fcn.01549aa0
mov byte [ebp - 4], 0x32
mov byte [ebp - 4], 0x30
mov cl, byte [ebp - 0x11]
call fcn.014ff810
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x37c]
call fcn.014ee090
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
sub eax, 1
je 0x152e35b
sub eax, 1
je 0x152e352
inc dword [ebp - 0xa0]
jmp 0x152e375
add dword [ebp - 0xa4], 0x10
jmp 0x152e375
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0xac]
call fcn.01547d40
test al, al
jne 0x152e211
lea ecx, [ebp - 0x24]
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x152e0c4
mov esi, dword [ebp - 0x10]
and esi, 0xff7fffff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x114]
push dword [eax + 4]
lea eax, [ebp - 0x114]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x114]
call fcn.015a54b1
mov edx, dword [ebp - 0x18]
add esp, 8
jmp 0x152e3e3
mov esi, dword [ebp - 0x10]
test dl, dl
jne 0x152e79b
movzx eax, byte [ebp + 0x60]
sub eax, 0
je 0x152e79b
sub eax, 1
je 0x152e40f
sub eax, 1
jne 0x152e41d
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152e415
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152e79b
mov byte [ebp - 4], 0x34
push 0x38
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 0x34
or esi, 0x8000
lea edx, [ebp - 0x134]
mov dword [ebp - 0x10], esi
lea ecx, [ebp + 0x60]
call fcn.01560170
mov eax, dword [ebp - 0x134]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp byte [eax + 0xd], 0
jne 0x152e767
cmp byte [ebp - 0x18], 0
jne 0x152e764
lea ecx, [eax + 0x28]
mov dword [ebp - 0xe8], 0
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0x80000000
sub edx, 1
je 0x152e51f
sub edx, 1
je 0x152e512
mov dword [ebp - 0xe0], 0x80000000
sub eax, 0
je 0x152e506
sub eax, 1
je 0x152e51f
sub eax, 1
je 0x152e512
mov dword [ebp - 0xe0], 0
jmp 0x152e52c
mov dword [ebp - 0xe0], 1
jmp 0x152e52c
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
jmp 0x152e52c
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0x80000000
sub edx, 1
je 0x152e5ab
sub edx, 1
je 0x152e59d
mov dword [ebp - 0x1c8], 0x80000000
sub eax, 1
je 0x152e5ab
sub eax, 1
je 0x152e59d
mov dword [ebp - 0x1c8], 1
jmp 0x152e5b6
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1cc], eax
jmp 0x152e5b6
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1d0], eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xec]
call fcn.01547d40
test al, al
je 0x152e74f
lea ecx, [ebp - 0xec]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152e74f
xorps xmm0, xmm0
mov dword [ebp - 0x384], 0
movups xmmword [ebp - 0x394], xmm0
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x380], 0xf
mov byte [ebp - 0x394], 0
mov byte [ebp - 4], 0x36
xor ecx, ecx
mov dword [ebp - 0x60], 0x26383f
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x60]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 3
jb 0x152e630
lea eax, [ebp - 0x60]
mov ecx, esi
push eax
call fcn.0154f1b0
cmp byte [eax], 0
je 0x152e68c
mov dword [ebp - 0x64], 0x26383f
xor ecx, ecx
nop
movzx eax, byte [ebp + ecx - 0x64]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x64], al
inc ecx
cmp ecx, 3
jb 0x152e660
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
call fcn.0154f1b0
push eax
lea ecx, [ebp - 0x394]
call fcn.01556190
sub esp, 0x18
mov byte [ebp - 0x11], 1
lea eax, [ebp - 0x394]
mov dword [ebp - 0x3d4], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x37
sub esp, 0xc
lea eax, [ebp - 0x248]
mov dword [ebp - 0x3cc], esp
mov ecx, esp
push eax
call fcn.01549aa0
mov byte [ebp - 4], 0x38
mov byte [ebp - 4], 0x36
mov cl, byte [ebp - 0x11]
call fcn.014ff810
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x394]
call fcn.014ee090
mov eax, dword [ebp - 0xec]
movzx eax, byte [eax]
sub eax, 1
je 0x152e71b
sub eax, 1
je 0x152e712
inc dword [ebp - 0xe0]
jmp 0x152e735
add dword [ebp - 0xe4], 0x10
jmp 0x152e735
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0xec]
call fcn.01547d40
test al, al
jne 0x152e5d0
lea ecx, [ebp - 0x24]
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x152e483
mov esi, dword [ebp - 0x10]
and esi, 0xffff7fff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x134]
push dword [eax + 4]
lea eax, [ebp - 0x134]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x134]
call fcn.015a54b1
add esp, 8
cmp byte [ebp - 0x33], 0
je 0x152ee94
cmp byte [ebp - 0x18], 0
jne 0x152ee94
movzx eax, byte [ebp + 0x70]
sub eax, 0
je 0x152ee94
sub eax, 1
je 0x152e7d3
sub eax, 1
jne 0x152e7e1
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 4
jmp 0x152e7d9
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x152ee94
mov byte [ebp - 4], 0x3a
push 0x38
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x120], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 0x3a
lea edx, [ebp - 0x124]
mov esi, dword [ebp - 0x10]
lea ecx, [ebp + 0x70]
or esi, 0x4000
mov dword [ebp - 0x10], esi
call fcn.01560170
mov eax, dword [ebp - 0x124]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
cmp byte [eax + 0xd], 0
jne 0x152ee60
nop word [eax + eax]
cmp byte [ebp - 0x18], 0
jne 0x152ee5d
mov dl, byte [eax + 0x28]
lea ecx, [eax + 0x28]
test dl, dl
je 0x152ee48
movzx edx, dl
sub edx, 0
je 0x152ee48
sub edx, 1
je 0x152e88b
sub edx, 1
jne 0x152e899
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x152e891
mov eax, dword [eax + 0x30]
mov edx, dword [eax + 4]
test edx, edx
je 0x152ee48
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0x80000000
sub edx, 1
je 0x152e928
sub edx, 1
je 0x152e91b
mov dword [ebp - 0xc0], 0x80000000
sub eax, 0
je 0x152e90f
sub eax, 1
je 0x152e928
sub eax, 1
je 0x152e91b
mov dword [ebp - 0xc0], 0
jmp 0x152e935
mov dword [ebp - 0xc0], 1
jmp 0x152e935
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
jmp 0x152e935
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0x80000000
sub edx, 1
je 0x152e9b4
sub edx, 1
je 0x152e9a6
mov dword [ebp - 0x1e8], 0x80000000
sub eax, 1
je 0x152e9b4
sub eax, 1
je 0x152e9a6
mov dword [ebp - 0x1e8], 1
jmp 0x152e9bf
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1ec], eax
jmp 0x152e9bf
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.01547d40
test al, al
je 0x152ee48
nop dword [eax]
lea ecx, [ebp - 0xcc]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152ee48
mov byte [ebp - 4], 0x3c
push 0x38
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
call fcn.015a5230
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x3c
lea edx, [ebp - 0x12c]
or dword [ebp - 0x10], 0x1000
mov ecx, esi
call fcn.01560170
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
cmp byte [eax + 0xd], 0
jne 0x152edbe
nop word [eax + eax]
cmp byte [ebp - 0x18], 0
jne 0x152edbe
lea ecx, [eax + 0x28]
movzx eax, byte [ecx]
sub eax, 0
je 0x152eda9
sub eax, 1
je 0x152ea90
sub eax, 1
jne 0x152ea9e
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
jmp 0x152ea96
mov eax, dword [ecx + 8]
mov edx, dword [eax + 4]
test edx, edx
je 0x152eda9
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0x80000000
sub edx, 1
je 0x152eb2d
sub edx, 1
je 0x152eb20
mov dword [ebp - 0xd0], 0x80000000
sub eax, 0
je 0x152eb14
sub eax, 1
je 0x152eb2d
sub eax, 1
je 0x152eb20
mov dword [ebp - 0xd0], 0
jmp 0x152eb3a
mov dword [ebp - 0xd0], 1
jmp 0x152eb3a
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
jmp 0x152eb3a
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
movzx eax, byte [ecx]
mov edx, eax
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d8], 0x80000000
sub edx, 1
je 0x152ebb9
sub edx, 1
je 0x152ebab
mov dword [ebp - 0x1d8], 0x80000000
sub eax, 1
je 0x152ebb9
sub eax, 1
je 0x152ebab
mov dword [ebp - 0x1d8], 1
jmp 0x152ebc4
mov eax, dword [ecx + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1dc], eax
jmp 0x152ebc4
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0xdc]
call fcn.01547d40
test al, al
je 0x152eda9
nop
lea ecx, [ebp - 0xdc]
call fcn.01547e50
cmp byte [ebp - 0x18], 0
mov esi, eax
jne 0x152eda9
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
mov byte [ebp - 4], 0x3e
xor ecx, ecx
mov dword [ebp - 0x68], 0x26383f
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x68]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x68], al
inc ecx
cmp ecx, 3
jb 0x152ec40
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
call fcn.0154f1b0
cmp byte [eax], 0
je 0x152ec9c
mov dword [ebp - 0x6c], 0x26383f
xor ecx, ecx
nop
movzx eax, byte [ebp + ecx - 0x6c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x6c], al
inc ecx
cmp ecx, 3
jb 0x152ec70
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
call fcn.0154f1b0
push eax
lea ecx, [ebp - 0x260]
call fcn.01556190
sub esp, 0x18
mov byte [ebp - 0x11], 1
lea eax, [ebp - 0x260]
mov dword [ebp - 0x3c8], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x3f
sub esp, 0xc
lea eax, [ebp - 0x248]
mov dword [ebp - 0x3d0], esp
mov ecx, esp
push eax
call fcn.01549aa0
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x3e
mov cl, byte [ebp - 0x11]
call fcn.014ff810
mov ecx, dword [ebp - 0x18]
add esp, 0x24
test al, al
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov byte [ebp - 0x18], cl
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x152ed36
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152ed2c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
movzx eax, byte [eax]
sub eax, 1
je 0x152ed75
sub eax, 1
je 0x152ed6c
inc dword [ebp - 0xd0]
jmp 0x152ed8f
add dword [ebp - 0xd4], 0x10
jmp 0x152ed8f
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [ebp - 0xdc]
call fcn.01547d40
test al, al
jne 0x152ebe0
lea ecx, [ebp - 0x24]
call fcn.0154c0e0
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xd], 0
je 0x152ea60
and dword [ebp - 0x10], 0xffffefff
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x12c]
push dword [eax + 4]
lea eax, [ebp - 0x12c]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x12c]
call fcn.015a54b1
mov eax, dword [ebp - 0xcc]
add esp, 8
movzx eax, byte [eax]
sub eax, 1
je 0x152ee14
sub eax, 1
je 0x152ee0b
inc dword [ebp - 0xc0]
jmp 0x152ee2e
add dword [ebp - 0xc4], 0x10
jmp 0x152ee2e
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0xcc]
call fcn.01547d40
test al, al
jne 0x152e9e0
lea ecx, [ebp - 0x30]
call fcn.0154c0e0
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0xd], 0
je 0x152e850
mov esi, dword [ebp - 0x10]
and esi, 0xffffbfff
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x124]
push dword [eax + 4]
lea eax, [ebp - 0x124]
push eax
mov ecx, eax
call fcn.015510c0
push 0x38
push dword [ebp - 0x124]
call fcn.015a54b1
add esp, 8
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x248]
call fcn.0154cab0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x49c]
call fcn.014ee090
mov esi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x274]
push dword [ebp - 0x27c]
call fcn.0154c140
mov edi, dword [ebp - 0x26c]
inc esi
mov dword [ebp - 0x28], esi
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x268]
mov ecx, esi
sub ecx, edi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x28], eax
jb 0x152d166
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x152ef17
cmp byte [ebp - 0x18], 0
je 0x152fac6
mov dword [ebp - 0x54], 0x2f322f64
xor ecx, ecx
mov byte [ebp - 0x50], 0
movzx eax, byte [ebp + ecx - 0x54]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 4
jb 0x152ef24
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x160], 0
movups xmmword [ebp - 0x174], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152ef60
sub ecx, edx
lea eax, [ebp - 0x54]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.014ee2a0
mov byte [ebp - 4], 0x43
push 0x64
mov byte [ebp - 0x3a], 0
call fcn.0154bea0
sub esp, 0x18
mov byte [ebp - 0x11], al
mov edx, esp
mov byte [ebp - 0x3b], al
xorps xmm0, xmm0
mov dword [ebp - 0x420], esp
lea ecx, [ebp - 0x3b]
lea esi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152efb3
sub ecx, esi
lea eax, [ebp - 0x3b]
push ecx
push eax
mov ecx, edx
call fcn.014ee2a0
mov byte [ebp - 4], 0x44
sub esp, 0x18
lea eax, [ebp - 0x334]
mov dword [ebp - 0x458], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x3ac]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0x46
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x3a8]
mov esi, dword [ebp - 0x3ac]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x152f759
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
lea ecx, [ebp - 0x174]
cmp ecx, eax
je 0x152f04d
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x152f040
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.0154a910
mov dword [ebp - 0x43], 0x2f322f
xor ecx, ecx
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x43]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x43], al
inc ecx
cmp ecx, 3
jb 0x152f060
xorps xmm0, xmm0
mov dword [ebp - 0x2e4], 0
lea ecx, [ebp - 0x43]
mov dword [ebp - 0x2e0], 0
movups xmmword [ebp - 0x2f4], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f0a0
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x2f4]
call fcn.014ee2a0
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x2f4]
mov edi, dword [ebp - 0x10]
lea ecx, [ebp - 0x174]
or edi, 1
mov dword [ebp - 0x10], edi
call fcn.0154f800
test al, al
je 0x152f4f4
mov dword [ebp - 0x47], 0x233927
xor ecx, ecx
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x47]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x47], al
inc ecx
cmp ecx, 3
jb 0x152f0f0
xorps xmm0, xmm0
mov dword [ebp - 0x2cc], 0
lea ecx, [ebp - 0x47]
mov dword [ebp - 0x2c8], 0
movups xmmword [ebp - 0x2dc], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f130
sub ecx, edx
lea eax, [ebp - 0x47]
push ecx
push eax
lea ecx, [ebp - 0x2dc]
call fcn.014ee2a0
mov dword [ebp - 4], 0x48
or edi, 2
lea edx, [ebp - 0x2dc]
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
mov dword [ebp - 0x4b], 0x382939
xor ecx, ecx
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0x4b]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x4b], al
inc ecx
cmp ecx, 3
jb 0x152f180
xorps xmm0, xmm0
mov dword [ebp - 0x428], 0
lea ecx, [ebp - 0x4b]
mov dword [ebp - 0x424], 0
movups xmmword [ebp - 0x438], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f1c0
sub ecx, edx
lea eax, [ebp - 0x4b]
push ecx
push eax
lea ecx, [ebp - 0x438]
call fcn.014ee2a0
mov dword [ebp - 4], 0x49
or edi, 4
lea edx, [ebp - 0x438]
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x454]
push eax
call fcn.0152fc70
mov esi, eax
xor edx, edx
nop
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f210
push esi
lea ecx, [ebp - 0x5e0]
call fcn.014edf90
mov dword [ebp - 4], 0x4a
or edi, 8
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x450]
push eax
call fcn.0152fc80
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f261
push esi
lea ecx, [ebp - 0x5c8]
call fcn.014edf90
mov dword [ebp - 4], 0x4b
or edi, 0x10
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x462]
push eax
call fcn.0152fc90
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 4
jb 0x152f2b2
push esi
lea ecx, [ebp - 0x5b0]
call fcn.014edf90
mov dword [ebp - 4], 0x4c
or edi, 0x20
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x44c]
push eax
call fcn.0152fcb0
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f303
push esi
lea ecx, [ebp - 0x598]
call fcn.014edf90
mov dword [ebp - 4], 0x4d
or edi, 0x40
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x448]
push eax
call fcn.0152fcc0
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f354
push esi
lea ecx, [ebp - 0x580]
call fcn.014edf90
mov dword [ebp - 4], 0x4e
or edi, 0x80
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x45d]
push eax
call fcn.0152fcd0
mov esi, eax
xor edx, edx
nop dword [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 4
jb 0x152f3b0
push esi
lea ecx, [ebp - 0x568]
call fcn.014edf90
mov dword [ebp - 4], 0x4f
or edi, 0x100
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x444]
push eax
call fcn.0152fcf0
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f404
push esi
lea ecx, [ebp - 0x550]
call fcn.014edf90
mov dword [ebp - 4], 0x50
or edi, 0x200
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x440]
push eax
call fcn.0152fd00
mov esi, eax
xor edx, edx
nop dword [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f460
push esi
lea ecx, [ebp - 0x538]
call fcn.014edf90
mov dword [ebp - 4], 0x51
or edi, 0x400
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
test al, al
je 0x152f4f4
lea eax, [ebp - 0x1fc]
push eax
call fcn.0152fd10
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.0154bea0
mov byte [edx + esi], al
inc edx
cmp edx, 3
jb 0x152f4b0
push esi
lea ecx, [ebp - 0x520]
call fcn.014edf90
mov dword [ebp - 4], 0x52
or edi, 0x800
mov edx, eax
mov dword [ebp - 0x10], edi
lea ecx, [ebp - 0x174]
call fcn.0154f800
mov byte [ebp - 0x1d], 1
test al, al
jne 0x152f4f8
mov byte [ebp - 0x1d], 0
mov dword [ebp - 4], 0x51
mov eax, dword [ebp - 0x10]
test eax, 0x800
je 0x152f51f
and eax, 0xfffff7ff
lea ecx, [ebp - 0x520]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x50
test eax, 0x400
je 0x152f543
and eax, 0xfffffbff
lea ecx, [ebp - 0x538]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4f
test eax, 0x200
je 0x152f567
and eax, 0xfffffdff
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4e
test eax, 0x100
je 0x152f58b
and eax, 0xfffffeff
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4d
test al, al
jns 0x152f5ac
and eax, 0xffffff7f
lea ecx, [ebp - 0x580]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4c
test al, 0x40
je 0x152f5cb
and eax, 0xffffffbf
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4b
test al, 0x20
je 0x152f5ea
and eax, 0xffffffdf
lea ecx, [ebp - 0x5b0]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x4a
test al, 0x10
je 0x152f609
and eax, 0xffffffef
lea ecx, [ebp - 0x5c8]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x49
test al, 8
je 0x152f628
and eax, 0xfffffff7
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x48
test al, 4
je 0x152f647
and eax, 0xfffffffb
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x10], eax
call fcn.014ee090
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], 0x47
test al, 2
je 0x152f6b0
and eax, 0xfffffffd
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2c8]
cmp ecx, 0x10
jb 0x152f695
mov edx, dword [ebp - 0x2dc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152f688
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
mov eax, dword [ebp - 0x10]
add esp, 8
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
mov dword [ebp - 4], 0x46
test al, 1
je 0x152f716
and eax, 0xfffffffe
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2e0]
cmp ecx, 0x10
jb 0x152f6fb
mov edx, dword [ebp - 0x2f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152f6f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
cmp byte [ebp - 0x1d], 0
je 0x152f759
mov dword [ebp - 0x4f], 0x2f322f
xor ecx, ecx
movzx eax, byte [ebp + ecx - 0x4f]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 3
jb 0x152f725
lea ecx, [ebp - 0x4f]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f740
sub ecx, edx
lea eax, [ebp - 0x4f]
push ecx
push eax
lea ecx, [ebp - 0x174]
call fcn.0154a910
mov al, byte [ebp - 0x11]
lea ecx, [ebp - 0x5f8]
mov edx, 0x14
mov byte [ebp - 0x3e], 0
mov byte [ebp - 0x3f], al
call fcn.014f77d0
mov esi, eax
mov byte [ebp - 4], 0x53
push 0x16
mov byte [ebp - 0x3c], 0
call fcn.0154bea0
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f791
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x90]
sub eax, edx
cmp eax, ecx
jb 0x152fc00
cmp dword [ebp + 0x94], 0x10
lea eax, [ebp + 0x80]
push ecx
cmovae eax, dword [ebp + 0x80]
lea ecx, [ebp - 0x3d]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x4cc]
call fcn.01552d30
mov edi, dword [ebp - 0x10]
or edi, 0x200000
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x55
lea eax, [ebp - 0x4cc]
push esi
push eax
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x4b4]
call fcn.01552b60
or edi, 0x20000
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x3f]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x152f818
sub ecx, edx
lea eax, [ebp - 0x3f]
push ecx
push eax
lea ecx, [ebp - 0x4b4]
call fcn.0154d160
mov dword [ebp - 0x29c], 0
lea edx, [ebp - 0x2ac]
mov dword [ebp - 0x298], 0
lea ecx, [ebp - 0x294]
xorps xmm0, xmm0
or edi, 0x40000
movups xmmword [ebp - 0x2ac], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2ac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x29c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0x10], edi
call fcn.0154f040
add esp, 4
mov byte [ebp - 4], 0x57
and edi, 0xfffbffff
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x298]
cmp ecx, 0x10
jb 0x152f8e6
mov edx, dword [ebp - 0x2ac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152f8dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
add esp, 8
and edi, 0xfffdffff
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x4b4]
call fcn.014ee090
and edi, 0xffdfffff
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x4cc]
call fcn.014ee090
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x5f8]
call fcn.014ee090
mov dword [ebp - 0xf5], 0x3a3e3e22
xor ecx, ecx
mov dword [ebp - 0xf1], 0x65657039
mov byte [ebp - 0xed], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0xf5]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0xf5], al
inc ecx
cmp ecx, 8
jb 0x152f960
cmp dword [ebp - 0x320], 0x10
lea ecx, [ebp - 0xf5]
lea eax, [ebp - 0x334]
cmovae eax, dword [ebp - 0x334]
push ecx
push eax
call fcn.015bcb90
test eax, eax
lea edx, [ebp - 0x294]
lea ecx, [ebp - 0x334]
setne byte [ebp - 0x1f8]
cmp dword [ebp - 0x280], 0x10
push dword [ebp - 0x1f8]
cmovae edx, dword [ebp - 0x294]
cmp dword [ebp - 0x320], 0x10
cmovae ecx, dword [ebp - 0x334]
call fcn.01567450
add esp, 0xc
test al, al
je 0x152fa4f
cmp dword [ebp - 0x280], 0x10
lea edx, [ebp - 0x294]
mov dword [ebp - 0x71], 0x242f3a25
cmovae edx, dword [ebp - 0x294]
xor ecx, ecx
mov byte [ebp - 0x6d], 0
movzx eax, byte [ebp + ecx - 0x71]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x71], al
inc ecx
cmp ecx, 4
jb 0x152fa00
push 1
push 0
push 0
push edx
lea eax, [ebp - 0x71]
push eax
push 0
push ecx
call 0x16831c6
sub esp, 0x18
lea eax, [ebp - 0x4fc]
mov ecx, esp
mov dword [ebp - 0x43c], esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0x5c
mov byte [ebp - 4], 0x5b
call fcn.0150a460
add esp, 0x18
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x280]
cmp ecx, 0x10
jb 0x152fa8d
mov edx, dword [ebp - 0x294]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x152fa83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x152fc05
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x3ac]
call fcn.0154cab0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x174]
call fcn.014ee090
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x26c]
call fcn.0154cab0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3a0]
call fcn.0154cab0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x334]
call fcn.014ee090
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x30c]
call fcn.014ee090
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4e4]
call fcn.014ee090
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4fc]
call fcn.014ee090
mov eax, dword [ebp - 0x22c]
movzx eax, byte [eax]
sub eax, 1
je 0x152fb44
sub eax, 1
je 0x152fb3b
inc dword [ebp - 0x220]
jmp 0x152fb5e
add dword [ebp - 0x224], 0x10
jmp 0x152fb5e
mov eax, dword [ebp - 0x228]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
call fcn.0154c0e0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x474]
push eax
lea ecx, [ebp - 0x22c]
call fcn.01547d40
test al, al
jne 0x152ccf0
mov byte [ebp - 4], 6
lea ecx, [ebp + 8]
call fcn.014ee090
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x28]
push dword [ebp + 0x20]
call fcn.0154c140
mov byte [ebp - 4], 4
lea ecx, [ebp + 0x38]
push dword [ebp + 0x30]
call fcn.0154c140
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x48]
push dword [ebp + 0x40]
call fcn.0154c140
mov byte [ebp - 4], 2
lea ecx, [ebp + 0x58]
push dword [ebp + 0x50]
call fcn.0154c140
mov byte [ebp - 4], 1
lea ecx, [ebp + 0x68]
push dword [ebp + 0x60]
call fcn.0154c140
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x78]
push dword [ebp + 0x70]
call fcn.0154c140
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x80]
call fcn.014ee090
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.014eda10
call fcn.015c09a0
int3