Function at 0x1521d20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0xf6cb39
push eax
mov eax, 0x14c0
mov dword fs:[0], esp
call fcn.015a6210
push esi
mov esi, ecx
push edi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 4], 1
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.0154c460
mov byte [ebp - 4], 1
sub esp, 8
mov dword [ebp - 0x14], 1
mov eax, esp
lea ecx, [ebp - 0x84]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.01548ac0
add esp, 8
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x1c], 0x3e392322
mov dword [ebp - 0x18], 0x333825
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x1c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 7
jb 0x1521db0
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.0154f1b0
mov edi, eax
mov byte [ebp - 4], 4
mov dl, byte [edi]
mov cl, byte [ebp - 0x84]
mov byte [edi], cl
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 0x84], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
push dword [ebp - 0x84]
call fcn.0154c140
push 0x104
lea eax, [ebp - 0x444]
push 0
push eax
call fcn.015bd6e0
add esp, 0xc
lea eax, [ebp - 0x444]
push eax
push 0
push 0
push 0x1a
push 0
call dword [0xf752e4]
lea eax, [ebp + 8]
push eax
lea edx, [ebp - 0x444]
lea ecx, [ebp - 0x214]
call fcn.0154ef10
add esp, 4
mov byte [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x44], 0x25383a16
mov dword [ebp - 0x40], 0x2f26232c
mov dword [ebp - 0x3c], 0x24236439
mov word [ebp - 0x38], 0x23
movzx eax, byte [ebp + ecx - 0x44]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0xd
jb 0x1521e74
lea eax, [ebp - 0x44]
push eax
lea edx, [ebp - 0x214]
lea ecx, [ebp - 0x1e4]
call fcn.0154ede0
add esp, 4
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1e4]
cmp dword [ebp - 0x1d0], 0x10
cmovae eax, dword [ebp - 0x1e4]
push eax
push 0x1000
lea eax, [ebp - 0x14cc]
push eax
push edi
call 0x1773dd5
lea esi, [ebp - 0x14cc]
mov dword [ebp - 0xac], esi
nop dword [eax + eax]
mov dword [ebp - 0x54], 0x2c25381a
xor ecx, ecx
mov dword [ebp - 0x50], 0x2f2623
movzx eax, byte [ebp + ecx - 0x54]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x54], al
inc ecx
cmp ecx, 7
jb 0x1521ef0
push 7
lea eax, [ebp - 0x54]
push eax
push esi
call fcn.015c8cde
add esp, 0xc
test eax, eax
jne 0x1522bbe
push 0x104
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.015bd6e0
add esp, 0xc
mov dword [ebp - 0x19], 0x223e2b1a
cmp dword [ebp - 0x1d0], 0x10
lea edx, [ebp - 0x1e4]
mov byte [ebp - 0x15], 0
cmovae edx, dword [ebp - 0x1e4]
xor ecx, ecx
movzx eax, byte [ebp + ecx - 0x19]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x19], al
inc ecx
cmp ecx, 4
jb 0x1521f52
push edx
push 0x104
lea eax, [ebp - 0x340]
push eax
push 0
lea eax, [ebp - 0x19]
push eax
push esi
push esi
call 0x166c3f9
push 0x16
mov byte [ebp - 0x1e], 0
call fcn.0154bea0
mov byte [ebp - 0xd], al
mov byte [ebp - 0x1f], al
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1f]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1521fa0
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x204]
sub eax, edx
cmp eax, ecx
jb 0x1522c46
cmp dword [ebp - 0x200], 0x10
lea eax, [ebp - 0x214]
push ecx
cmovae eax, dword [ebp - 0x214]
lea ecx, [ebp - 0x1f]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x23c]
call fcn.01552d30
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x340]
or esi, 0x10
lea edx, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x1fc]
mov dword [ebp - 0x14], esi
call fcn.0154ee70
add esp, 4
mov byte [ebp - 4], 8
and esi, 0xffffffef
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x23c]
call fcn.014ee090
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x88], 0
movups xmmword [ebp - 0x9c], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1522050
sub ecx, edx
lea eax, [ebp - 0x340]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.014ee2a0
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0x10
mov esi, dword [ebp - 0x8c]
cmovae edi, dword [ebp - 0x9c]
test esi, esi
je 0x152218d
push esi
push 0x2f
push edi
call fcn.015beed0
add esp, 0xc
test eax, eax
je 0x152218d
sub eax, edi
cmp eax, 0xffffffff
je 0x152218d
push 0x65
mov byte [ebp - 0x20], 0
call fcn.0154bea0
sub esp, 0x18
mov byte [ebp - 0x21], al
mov edx, esp
mov dword [ebp - 0x220], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x21]
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 0x15220e4
sub ecx, esi
lea eax, [ebp - 0x21]
push ecx
push eax
mov ecx, edx
call fcn.014ee2a0
mov byte [ebp - 4], 0xb
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x21c], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b4]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b4]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x9c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x1522178
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x152216b
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.0154a910
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b4]
call fcn.0154cab0
mov esi, dword [ebp - 0x8c]
cmp dword [ebp - 0x88], 0x10
lea edi, [ebp - 0x9c]
cmovae edi, dword [ebp - 0x9c]
test esi, esi
je 0x152228e
push esi
push 0x5c
push edi
call fcn.015beed0
add esp, 0xc
test eax, eax
je 0x152228e
sub eax, edi
cmp eax, 0xffffffff
je 0x152228e
mov al, byte [ebp - 0xd]
lea ecx, [ebp - 0x23]
sub esp, 0x18
mov byte [ebp - 0x22], 0
mov edx, esp
mov byte [ebp - 0x23], al
xorps xmm0, xmm0
mov dword [ebp - 0x224], esp
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 0x15221f7
sub ecx, esi
lea eax, [ebp - 0x23]
push ecx
push eax
mov ecx, edx
call fcn.014ee2a0
mov byte [ebp - 4], 0xe
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x218], esp
mov ecx, esp
push eax
call fcn.0154abc0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44]
call fcn.014f7580
add esp, 0x30
mov byte [ebp - 4], 0x10
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x9c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x1522282
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x1522275
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x9c]
call fcn.0154a910
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44]
call fcn.0154cab0
mov dword [ebp - 0x63], 0x2b263a16
xor ecx, ecx
mov dword [ebp - 0x5f], 0x64392f29
mov dword [ebp - 0x5b], 0x23263b39
mov word [ebp - 0x57], 0x2f3e
mov byte [ebp - 0x55], 0
nop
movzx eax, byte [ebp + ecx - 0x63]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x63], al
inc ecx
cmp ecx, 0xe
jb 0x15222b0
lea eax, [ebp - 0x63]
push eax
lea edx, [ebp - 0x1fc]
lea ecx, [ebp - 0x1cc]
call fcn.0154ede0
add esp, 4
mov byte [ebp - 4], 0x11
xor ecx, ecx
mov word [ebp - 0x28], 0x2838
mov byte [ebp - 0x26], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x28]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 2
jb 0x15222f0
cmp dword [ebp - 0x1b8], 0x10
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x1cc]
cmovae eax, dword [ebp - 0x1cc]
push ecx
push eax
call fcn.015c1550
add esp, 8
test eax, eax
je 0x1522af7
push eax
call fcn.015c4dd8
add esp, 4
mov byte [ebp - 0x10c], 0
lea ecx, [ebp - 0x104]
push 0
call fcn.0154c460
mov byte [ebp - 4], 0x13
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0xd8]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.01548ac0
add esp, 8
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.01548340
mov edi, eax
mov byte [ebp - 4], 0x15
mov dl, byte [edi]
mov cl, byte [ebp - 0xd8]
mov byte [edi], cl
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov byte [ebp - 0xd8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xd0]
push dword [ebp - 0xd8]
call fcn.0154c140
cmp dword [ebp - 0x1b8], 0x10
lea ecx, [ebp - 0x1cc]
lea edx, [ebp - 0xa0]
cmovae ecx, dword [ebp - 0x1cc]
call fcn.014ff9f0
test eax, eax
jne 0x1522a99
lea eax, [ebp - 0x4c9]
push eax
call fcn.01522cb0
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, 0x84
jb 0x1522410
push ecx
lea eax, [ebp - 0xb0]
mov edx, esi
mov esi, dword [ebp - 0xa0]
push eax
push ecx
mov ecx, esi
call fcn.015961b0
add esp, 0xc
test eax, eax
jne 0x1522a92
mov edi, dword [ebp - 0xb0]
mov ecx, edi
call fcn.01581a50
cmp eax, 0x64
jne 0x1522a8b
push 0x63
call fcn.0154bea0
mov byte [ebp - 0xd], al
nop dword [eax]
xor edx, edx
mov ecx, edi
call fcn.01581d40
mov edx, 1
mov ecx, edi
mov esi, eax
call fcn.01581d40
mov ecx, esi
mov dword [ebp - 0xb8], eax
mov al, byte [ebp - 0xd]
xorps xmm0, xmm0
mov byte [ebp - 0x24], 0
mov byte [ebp - 0x25], al
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x114], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x110], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x15224c0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x124]
call fcn.014ee2a0
mov byte [ebp - 4], 0x16
xor ecx, ecx
movaps xmm0, xmmword [0xf96d20]
movups xmmword [ebp - 0x17e], xmm0
mov dword [ebp - 0x15e], 0x232a626a
movaps xmm0, xmmword [0xf96050]
movups xmmword [ebp - 0x16e], xmm0
mov dword [ebp - 0x15a], 0x776a2a2e
mov word [ebp - 0x156], 0x6a
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x17e]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x17e], al
inc ecx
cmp ecx, 0x29
jb 0x1522520
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x17e]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1522548
sub ecx, edx
lea eax, [ebp - 0x17e]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x124]
call fcn.01553c90
mov esi, dword [ebp - 0x14]
xorps xmm0, xmm0
movups xmmword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x190], 0
or esi, 2
mov dword [ebp - 0x18c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x190], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x25]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x15225c0
sub ecx, edx
lea eax, [ebp - 0x25]
push ecx
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0154d160
mov dword [ebp - 0xe8], 0
lea edx, [ebp - 0xf8]
mov dword [ebp - 0xe4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xf8], xmm0
push ecx
movups xmm0, xmmword [eax]
or esi, 4
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xe8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0xe4], 0x10
push eax
cmovae edx, dword [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0xa0]
call fcn.015961b0
add esp, 0xc
test eax, eax
sete byte [ebp - 0x1d]
and esi, 0xfffffffb
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xf8]
call fcn.014ee090
and esi, 0xfffffffd
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1a0]
call fcn.014ee090
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x110]
cmp ecx, 0x10
jb 0x15226be
mov edx, dword [ebp - 0x124]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x15226b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1522c4b
push ecx
push edx
call fcn.015a54b1
add esp, 8
cmp byte [ebp - 0x1d], 0
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0xf
mov byte [ebp - 0x124], 0
je 0x1522a75
mov esi, dword [ebp - 0xb4]
mov ecx, esi
call fcn.01581a50
cmp eax, 0x64
jne 0x1522a75
nop dword [eax]
xor edx, edx
mov ecx, esi
call fcn.01581d40
push 0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 0x74], 0
call fcn.0154c460
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
lea edx, [ebp - 0xdc]
mov byte [ebp - 0xc8], 0
lea ecx, [ebp - 0xc8]
movq qword [ebp - 0xc0], xmm0
call fcn.0155ffd0
mov byte [ebp - 4], 0x1b
xor ecx, ecx
mov dword [ebp - 0x2c], 0x26383f
movzx eax, byte [ebp + ecx - 0x2c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 3
jb 0x1522751
mov al, byte [ebp - 0x74]
test al, al
jne 0x1522795
push 1
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 0x74], 1
call fcn.0154c460
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x1a8]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], eax
mov al, byte [ebp - 0x74]
jmp 0x1522798
mov esi, dword [ebp - 0x6c]
cmp al, 1
jne 0x1522c17
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x128], 0
movups xmmword [ebp - 0x13c], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x15227c4
sub edx, ecx
lea eax, [ebp - 0x2c]
push edx
push eax
lea ecx, [ebp - 0x13c]
call fcn.014ee2a0
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x13c]
push eax
mov ecx, esi
call fcn.015526f0
mov edi, eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x128]
cmp ecx, 0x10
jb 0x152282f
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1522825
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1522c4b
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov byte [ebp - 4], 0x1f
mov cl, byte [edi]
mov al, byte [ebp - 0xc8]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0xc0]
mov byte [ebp - 0xc8], cl
mov byte [ebp - 0xe0], cl
mov ecx, dword [ebp - 0xbc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xc0]
push dword [ebp - 0xe0]
call fcn.0154c140
push dword [ebp - 0xb8]
call fcn.015c9026
add esp, 4
push 0
push 0xf4240
push edx
push eax
call fcn.015e0ca0
push edx
xorps xmm0, xmm0
mov byte [ebp - 0x84], 0
push eax
lea ecx, [ebp - 0x84]
movq qword [ebp - 0x7c], xmm0
call fcn.01560090
add esp, 8
mov byte [ebp - 4], 0x20
xor ecx, ecx
mov dword [ebp - 0x31], 0x2f27233e
mov byte [ebp - 0x2d], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x31]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x31], al
inc ecx
cmp ecx, 4
jb 0x15228f0
mov al, byte [ebp - 0x74]
test al, al
jne 0x1522934
push 1
lea ecx, [ebp - 0x188]
mov byte [ebp - 0x74], 1
call fcn.0154c460
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x188]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], eax
mov al, byte [ebp - 0x74]
jmp 0x1522937
mov esi, dword [ebp - 0x6c]
cmp al, 1
jne 0x1522c50
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
lea edx, [ebp - 0x31]
mov dword [ebp - 0x140], 0
movups xmmword [ebp - 0x154], xmm0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x1522963
sub edx, ecx
lea eax, [ebp - 0x31]
push edx
push eax
lea ecx, [ebp - 0x154]
call fcn.014ee2a0
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x154]
push eax
mov ecx, esi
call fcn.015526f0
mov edi, eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x140]
cmp ecx, 0x10
jb 0x15229ce
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x15229c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1522c4b
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x24
mov cl, byte [edi]
mov al, byte [ebp - 0x84]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 0x84], cl
mov byte [ebp - 0xa4], cl
mov ecx, dword [ebp - 0x78]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x7c]
push dword [ebp - 0xa4]
call fcn.0154c140
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x10c]
call fcn.01548340
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.01548060
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x6c]
push dword [ebp - 0x74]
call fcn.0154c140
mov esi, dword [ebp - 0xb4]
mov ecx, esi
call fcn.01581a50
cmp eax, 0x64
je 0x1522700
mov edi, dword [ebp - 0xb0]
mov ecx, edi
call fcn.01581a50
cmp eax, 0x64
je 0x1522470
mov esi, dword [ebp - 0xa0]
mov ecx, edi
call fcn.015816c0
mov ecx, esi
call fcn.014ffd40
mov dword [ebp - 0x4c], 0x3e392322
xor ecx, ecx
mov dword [ebp - 0x48], 0x333825
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x4c]
push eax
call fcn.0154bea0
mov byte [ebp + ecx - 0x4c], al
inc ecx
cmp ecx, 7
jb 0x1522ab0
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0x4c]
push eax
call fcn.0154f1b0
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, eax
call fcn.01548060
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x104]
push dword [ebp - 0x10c]
call fcn.0154c140
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1cc]
call fcn.014ee090
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x88]
cmp ecx, 0x10
jb 0x1522b44
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1522b3a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1522c4b
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x1e8]
cmp ecx, 0x10
jb 0x1522b9d
mov edx, dword [ebp - 0x1fc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1522b93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1522c4b
push ecx
push edx
call fcn.015a54b1
add esp, 8
mov esi, dword [ebp - 0xac]
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1e8], 0xf
mov byte [ebp - 0x1fc], 0
push esi
push edx
call 0x1681527
inc esi
add esi, eax
mov dword [ebp - 0xac], esi
cmp byte [esi], 0
jne 0x1521ee0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1e4]
call fcn.014ee090
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x214]
call fcn.014ee090
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.014ee090
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x74]
call fcn.0154c750
push eax
lea ecx, [ebp - 0x23c]
call fcn.014edf90
mov byte [ebp - 4], 0x1d
mov edx, 0xf909c4
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0154efa0
mov byte [ebp - 4], 0x1e
jmp 0x1522c7d
call fcn.014eda10
call fcn.015c09a0
lea ecx, [ebp - 0x74]
call fcn.0154c750
push eax
lea ecx, [ebp - 0x23c]
call fcn.014edf90
mov byte [ebp - 4], 0x22
mov edx, 0xf909c4
push eax
lea ecx, [ebp - 0x1a0]
call fcn.0154efa0
mov byte [ebp - 4], 0x23
push eax
mov edx, 0x131
lea ecx, [ebp - 0xfc]
call fcn.014f5250
add esp, 8
lea eax, [ebp - 0xfc]
push 0xfa66c8
push eax
call fcn.015bcf2b
int3