Function at 0x1005b131
Capabilities:
Encode data using xor

Disassembly:
push 0x510
mov eax, 0x101a5b61
call fcn.1017516e
mov dword [ebp - 0x4e0], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x514], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x510], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x508], eax
xor eax, eax
push 7
pop edi
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f8], edx
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edi
mov word [ebp - 0x2b0], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], edi
mov word [ebp - 0x334], ax
mov byte [ebp - 4], 1
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ecx]
lea edi, [ebp - 0x30]
push edi
push edx
push ecx
call dword [eax + 0x20]
push esi
lea ecx, [ebp - 0x334]
call fcn.1001eaa0
push ebx
lea ecx, [ebp - 0x334]
call fcn.1002f70f
push 0x3c
pop eax
mov word [ebp - 0x350], ax
push 0x70
pop eax
mov word [ebp - 0x34e], ax
add eax, 0x12
mov word [ebp - 0x34c], ax
push 0x7f
pop ecx
mov word [ebp - 0x34a], cx
push 0x72
mov word [ebp - 0x348], cx
pop edx
mov word [ebp - 0x346], dx
push 0x7b
pop eax
mov word [ebp - 0x344], ax
add eax, 6
mov word [ebp - 0x342], ax
push 0x3b
pop eax
mov word [ebp - 0x340], ax
add eax, 0x48
mov word [ebp - 0x33e], ax
xor eax, eax
mov word [ebp - 0x33c], dx
mov word [ebp - 0x33a], cx
xor ecx, ecx
mov word [ebp - 0x338], ax
mov ax, word [ebp - 0x350]
mov ax, word [ebp + ecx*2 - 0x350]
movzx eax, ax
add eax, 0xfffffff3
mov word [ebp + ecx*2 - 0x350], ax
inc ecx
cmp ecx, 0xc
jb 0x1005b277
lea eax, [ebp - 0x350]
push eax
lea edx, [ebp - 0x334]
lea ecx, [ebp - 0x4c4]
call fcn.1005c84c
pop ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2b0]
push eax
call fcn.10020fcb
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c4]
call fcn.1001701c
push dword [ebp - 0x508]
cmp dword [ebp - 0x29c], 8
lea eax, [ebp - 0x2b0]
mov edi, dword [ebp - 0x510]
cmovae eax, dword [ebp - 0x2b0]
mov ebx, dword [ebp - 0x514]
push ecx
push dword [ebp - 0x50c]
push edi
push ebx
push eax
lea eax, [ebp - 0x4f0]
push eax
push 0x50
lea eax, [ebp - 0x90]
push eax
push ecx
call fcn.1005b044
mov esi, eax
test esi, esi
jns 0x1005b42e
cmp dword [ebp - 0x29c], 8
lea edi, [ebp - 0x2b0]
mov ebx, 0xd5b3
mov eax, 0xd5a7
cmovae edi, dword [ebp - 0x2b0]
mov dword [ebp - 0x390], 0xd5df
mov word [ebp - 0x38c], ax
add eax, 0x15
mov word [ebp - 0x38a], ax
lea edx, [ebx + 0x4c]
mov word [ebp - 0x388], bx
lea eax, [ebx + 3]
mov word [ebp - 0x386], ax
lea ecx, [ebx + 0x47]
add eax, 0xfffffffa
mov word [ebp - 0x384], ax
lea eax, [ebx + 0x32]
mov word [ebp - 0x382], ax
mov word [ebp - 0x380], ax
add eax, 0xffffffc7
mov word [ebp - 0x37e], dx
mov word [ebp - 0x37c], cx
mov word [ebp - 0x37a], bx
mov word [ebp - 0x378], ax
lea eax, [ebx + 0x3c]
mov word [ebp - 0x376], dx
mov word [ebp - 0x374], cx
mov word [ebp - 0x372], ax
add eax, 0xfffffff8
mov word [ebp - 0x370], ax
lea eax, [ebx - 0xc]
mov word [ebp - 0x36e], ax
xor eax, eax
push 0x10
mov word [ebp - 0x36c], ax
xor edx, edx
mov ax, word [ebp - 0x38c]
pop ebx
mov ax, word [ebp + edx*2 - 0x38c]
movzx ecx, ax
movzx eax, word [ebp - 0x390]
xor ecx, eax
mov word [ebp + edx*2 - 0x38c], cx
inc edx
cmp edx, ebx
jb 0x1005b3e6
xor eax, eax
push esi
mov word [ebp - 0x36c], ax
lea eax, [ebp - 0x38c]
push edi
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x14
jmp 0x1005c3f1
cmp dword [ebp - 0x4f0], 0xb
je 0x1005b59e
cmp dword [ebp - 0x29c], 8
lea edx, [ebp - 0x2b0]
push 0x70
cmovae edx, dword [ebp - 0x2b0]
mov eax, 0x85
mov word [ebp - 0x454], ax
pop eax
mov word [ebp - 0x452], ax
push 0x79
pop ecx
mov word [ebp - 0x450], cx
push 0x76
pop esi
mov word [ebp - 0x44e], si
push 0x7c
pop eax
mov word [ebp - 0x44c], ax
push 0x47
pop eax
mov word [ebp - 0x44a], ax
mov word [ebp - 0x448], ax
add eax, 0x40
push 0x2d
pop ebx
mov word [ebp - 0x446], bx
push 0x32
pop edi
mov word [ebp - 0x444], di
mov word [ebp - 0x442], cx
add ecx, 7
mov word [ebp - 0x440], cx
mov word [ebp - 0x43e], bx
mov word [ebp - 0x43c], cx
mov word [ebp - 0x43a], si
mov word [ebp - 0x438], ax
push 0x72
pop eax
mov word [ebp - 0x436], ax
mov word [ebp - 0x434], bx
push 0x7a
pop eax
mov word [ebp - 0x432], ax
mov word [ebp - 0x430], si
mov word [ebp - 0x42e], cx
mov word [ebp - 0x42c], ax
push 0x6e
pop eax
mov word [ebp - 0x42a], ax
add eax, 0x13
mov word [ebp - 0x428], ax
push 0x70
pop eax
mov word [ebp - 0x426], ax
push 0x75
pop eax
mov word [ebp - 0x424], ax
mov word [ebp - 0x422], bx
push 0x71
mov word [ebp - 0x420], di
pop eax
mov word [ebp - 0x41e], ax
xor eax, eax
mov word [ebp - 0x41c], ax
xor ecx, ecx
mov ax, word [ebp - 0x454]
mov ax, word [ebp + ecx*2 - 0x454]
movzx eax, ax
add eax, 0xfffffff3
mov word [ebp + ecx*2 - 0x454], ax
inc ecx
cmp ecx, 0x1c
jb 0x1005b55a
push dword [ebp - 0x4f0]
lea eax, [ebp - 0x454]
push edx
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x14
mov esi, 0xe019021d
jmp 0x1005c3f1
cmp dword [ebp - 0x29c], 8
lea esi, [ebp - 0x2b0]
mov byte [ebp - 0x85], 0
mov ecx, 0xa83c
cmovae esi, dword [ebp - 0x2b0]
mov eax, 0xa828
mov dword [ebp - 0x3e8], 0xa850
mov word [ebp - 0x3e4], ax
add eax, 0xb
mov word [ebp - 0x3e2], ax
lea edx, [ecx - 0x19]
mov word [ebp - 0x3e0], cx
lea eax, [ecx - 3]
mov word [ebp - 0x3de], ax
add eax, 6
mov word [ebp - 0x3dc], ax
lea eax, [ecx + 0x2e]
mov word [ebp - 0x3da], ax
mov word [ebp - 0x3d8], ax
add eax, 6
mov word [ebp - 0x3d6], ax
lea eax, [ecx + 0x39]
mov word [ebp - 0x3d4], ax
mov word [ebp - 0x3d2], cx
add ecx, 0x34
mov word [ebp - 0x3d0], dx
mov word [ebp - 0x3ce], cx
lea ecx, [eax + 2]
mov word [ebp - 0x3cc], cx
mov word [ebp - 0x3ca], ax
add eax, 0xffffffc3
mov word [ebp - 0x3c8], ax
lea eax, [edx + 0x4d]
mov word [ebp - 0x3c6], dx
mov word [ebp - 0x3c4], cx
mov word [ebp - 0x3c2], ax
add eax, 5
mov word [ebp - 0x3c0], ax
lea eax, [edx + 0x11]
mov word [ebp - 0x3be], ax
xor eax, eax
mov word [ebp - 0x3bc], ax
xor edx, edx
mov ax, word [ebp - 0x3e4]
mov ax, word [ebp + edx*2 - 0x3e4]
movzx ecx, ax
movzx eax, word [ebp - 0x3e8]
xor ecx, eax
mov word [ebp + edx*2 - 0x3e4], cx
inc edx
cmp edx, 0x14
jb 0x1005b692
xor eax, eax
mov word [ebp - 0x3bc], ax
lea eax, [ebp - 0x90]
push 0xb
push eax
push esi
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x298]
push 0x208
push eax
call fcn.10007b06
add esp, 0x18
xor eax, eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], 7
mov word [ebp - 0x368], ax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x90]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005b714
sub ecx, edx
lea eax, [ebp - 0x90]
add eax, ecx
lea ecx, [ebp - 0x368]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.1001731f
push 1
push 0x10205f94
lea ecx, [ebp - 0x334]
call fcn.10026177
cmp dword [ebp - 0x354], 8
lea eax, [ebp - 0x368]
lea ecx, [ebp - 0x334]
cmovae eax, dword [ebp - 0x368]
push eax
call fcn.1002f70f
mov dword [ebp - 0x31c], 0x85d3
mov eax, 0x85fc
mov word [ebp - 0x318], ax
lea ecx, [eax - 0x41]
add eax, 0xffffffb6
mov word [ebp - 0x316], cx
mov word [ebp - 0x314], ax
lea eax, [ecx - 0x1b]
mov word [ebp - 0x312], ax
add eax, 0x5d
mov word [ebp - 0x310], cx
mov word [ebp - 0x30e], ax
lea eax, [ecx - 0xa]
mov word [ebp - 0x30c], ax
add eax, 9
mov word [ebp - 0x30a], ax
lea eax, [ecx + 2]
mov word [ebp - 0x308], ax
xor eax, eax
mov word [ebp - 0x306], ax
xor edx, edx
mov ax, word [ebp - 0x318]
mov ax, word [ebp + edx*2 - 0x318]
movzx ecx, ax
movzx eax, word [ebp - 0x31c]
xor ecx, eax
mov word [ebp + edx*2 - 0x318], cx
inc edx
cmp edx, 9
jb 0x1005b7df
xor eax, eax
lea edx, [ebp - 0x334]
mov word [ebp - 0x306], ax
lea ecx, [ebp - 0x4dc]
lea eax, [ebp - 0x318]
push eax
call fcn.1005c84c
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
push eax
call fcn.10020fcb
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4dc]
call fcn.1001701c
push dword [ebp - 0x508]
cmp dword [ebp - 0x29c], 8
lea eax, [ebp - 0x2b0]
push ecx
push dword [ebp - 0x50c]
cmovae eax, dword [ebp - 0x2b0]
push edi
push ebx
push eax
lea eax, [ebp - 0x4f0]
push eax
push 0x10
pop ebx
push ebx
lea eax, [ebp - 0x20]
push eax
push ecx
call fcn.1005b044
mov esi, eax
test esi, esi
js 0x1005c2d0
cmp dword [ebp - 0x4f0], ebx
jne 0x1005c2d0
xor edx, edx
lea esi, [ebp - 0x30]
lea edi, [ebp - 0x20]
mov ecx, edx
mov eax, dword [esi + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x1005b92b
inc ecx
cmp ecx, 4
jne 0x1005b89b
push 0x26
pop eax
mov word [ebp - 0x2f8], ax
mov ecx, edx
push 0x6d
pop eax
mov word [ebp - 0x2f6], ax
push 0x74
pop eax
mov word [ebp - 0x2f4], ax
xor eax, eax
mov word [ebp - 0x2f2], ax
mov ax, word [ebp - 0x2f8]
mov ax, word [ebp + ecx*2 - 0x2f8]
movzx eax, ax
dec eax
mov word [ebp + ecx*2 - 0x2f8], ax
inc ecx
cmp ecx, 3
jb 0x1005b8dd
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x2f8]
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b0e3
add esp, 0x10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
xor esi, esi
jmp 0x1005c3f1
xor eax, eax
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x498], edx
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x498], 7
mov word [ebp - 0x4ac], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4ac]
mov edx, dword [ebp - 0x4f8]
call fcn.1005aa6d
cmp dword [ebp - 0x320], 8
lea eax, [ebp - 0x334]
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x334]
push eax
call fcn.1001eaa0
push 0x10205f94
lea ecx, [ebp - 0x2b0]
call fcn.1002f70f
cmp dword [ebp - 0x498], 8
lea eax, [ebp - 0x4ac]
lea ecx, [ebp - 0x2b0]
cmovae eax, dword [ebp - 0x4ac]
push eax
call fcn.1002f70f
lea eax, [ebp - 0x4e8]
mov dword [ebp - method.std::_Facet_base.virtual_4], 0x10206c4c
mov dword [ebp - 0x51c], eax
xor eax, eax
push eax
push eax
mov dword [ebp - 0x4ec], 0x10206c10
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], eax
call fcn.1002107b
mov dword [ebp - 0x4e8], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4ec]
call fcn.1005ab66
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2b0]
cmp dword [ebp - 0x29c], 8
mov edi, 0xe001000f
cmovae eax, dword [ebp - 0x2b0]
and dword [ebp - 0x518], 0
mov dword [ebp - 0x51c], eax
push dword [ebp - 0x508]
push ecx
push dword [ebp - 0x50c]
push dword [ebp - 0x510]
push dword [ebp - 0x514]
push eax
lea eax, [ebp - 0x4f0]
push eax
lea eax, [ebp - 0x4ec]
push eax
call fcn.1005abfe
mov esi, eax
test esi, esi
jns 0x1005ba84
cmp esi, edi
je 0x1005ba8e
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x518]
inc eax
mov dword [ebp - 0x518], eax
cmp eax, 0x14
mov eax, dword [ebp - 0x51c]
jl 0x1005ba29
mov edi, esi
jmp 0x1005ba86
mov edi, eax
test esi, esi
jns 0x1005bc18
cmp dword [ebp - 0x29c], 8
lea edx, [ebp - 0x2b0]
push 0x7d
cmovae edx, dword [ebp - 0x2b0]
pop eax
mov word [ebp - 0x418], ax
push 0x68
pop eax
mov word [ebp - 0x416], ax
push 0x71
pop eax
mov word [ebp - 0x414], ax
push 0x6e
pop eax
mov word [ebp - 0x412], ax
push 0x74
pop eax
mov word [ebp - 0x410], ax
push 0x3f
pop eax
push 0x25
pop ecx
mov word [ebp - 0x40e], ax
mov word [ebp - 0x40c], ax
push 0x2a
pop esi
push 0x6d
pop eax
mov word [ebp - 0x40a], cx
mov word [ebp - 0x408], si
mov word [ebp - 0x406], ax
push 0x78
pop eax
mov word [ebp - 0x404], ax
push 0x71
mov word [ebp - 0x402], cx
mov word [ebp - 0x400], si
pop esi
push 0x4c
mov word [ebp - 0x3fe], si
mov word [ebp - 0x3fc], ax
pop eax
push 0x4a
mov word [ebp - 0x3fa], cx
mov word [ebp - 0x3f8], ax
pop eax
mov word [ebp - 0x3f6], ax
push 0x42
pop eax
push 0x2a
mov word [ebp - 0x3f4], ax
pop esi
push 0x35
pop eax
mov word [ebp - 0x3f2], si
mov word [ebp - 0x3f0], ax
push 0x3d
pop eax
mov word [ebp - 0x3ee], ax
push 0x7d
pop eax
mov word [ebp - 0x3ec], ax
xor eax, eax
mov word [ebp - 0x3ea], ax
xor ecx, ecx
mov ax, word [ebp - 0x418]
mov ax, word [ebp + ecx*2 - 0x418]
movzx eax, ax
add eax, 0xfffffffb
mov word [ebp + ecx*2 - 0x418], ax
inc ecx
cmp ecx, 0x17
jb 0x1005bb8b
push edi
push edx
push dword [ebp - 0x4f8]
lea eax, [ebp - 0x418]
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 0xb
mov ecx, eax
call fcn.10052676
mov byte [ebp - 4], 5
push ebx
push dword [ebp - 0x4e8]
call fcn.10006a60
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4ac]
call fcn.1001701c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
mov esi, edi
jmp 0x1005c3f1
cmp dword [ebp - 0x4f0], 0
jne 0x1005bf15
cmp dword [ebp - 0x29c], 8
lea edi, [ebp - 0x2b0]
push 0x20
cmovae edi, dword [ebp - 0x2b0]
mov dword [ebp - 0x2f0], 0x7b49
mov eax, dword [ebp - 0x2f0]
xor eax, 0x78
mov word [ebp - 0x2ec], ax
mov eax, dword [ebp - 0x2f0]
inc eax
xor eax, 0x63
mov word [ebp - 0x2ea], ax
mov eax, dword [ebp - 0x2f0]
add eax, 2
xor eax, 0x6c
mov word [ebp - 0x2e8], ax
mov eax, dword [ebp - 0x2f0]
add eax, 3
xor eax, 0x69
mov word [ebp - 0x2e6], ax
mov eax, dword [ebp - 0x2f0]
add eax, 4
xor eax, 0x6f
mov word [ebp - 0x2e4], ax
mov eax, dword [ebp - 0x2f0]
add eax, 5
xor eax, 0x3a
mov word [ebp - 0x2e2], ax
mov eax, dword [ebp - 0x2f0]
add eax, 6
xor eax, 0x3a
mov word [ebp - 0x2e0], ax
mov eax, dword [ebp - 0x2f0]
add eax, 7
pop edx
xor eax, edx
mov word [ebp - 0x2de], ax
mov eax, dword [ebp - 0x2f0]
add eax, 8
push 0x25
pop ecx
xor eax, ecx
mov word [ebp - 0x2dc], ax
mov eax, dword [ebp - 0x2f0]
add eax, 9
xor eax, 0x68
mov word [ebp - 0x2da], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xa
xor eax, 0x73
mov word [ebp - 0x2d8], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xb
xor eax, edx
mov word [ebp - 0x2d6], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xc
xor eax, ecx
mov word [ebp - 0x2d4], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xd
xor eax, 0x6c
mov word [ebp - 0x2d2], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xe
xor eax, 0x73
mov word [ebp - 0x2d0], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0xf
xor eax, edx
mov word [ebp - 0x2ce], ax
mov eax, dword [ebp - 0x2f0]
add eax, ebx
xor eax, 0x47
mov word [ebp - 0x2cc], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x11
xor eax, 0x45
mov word [ebp - 0x2ca], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x12
xor eax, 0x3d
mov word [ebp - 0x2c8], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x13
xor eax, ecx
mov word [ebp - 0x2c6], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x14
xor eax, 0x30
mov word [ebp - 0x2c4], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x15
xor eax, 0x38
mov word [ebp - 0x2c2], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x16
xor eax, 0x78
mov word [ebp - 0x2c0], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x17
xor eax, edx
mov word [ebp - 0x2be], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x18
xor eax, 0x77
mov word [ebp - 0x2bc], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x19
xor eax, 0x72
mov word [ebp - 0x2ba], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x1a
xor eax, 0x3d
mov word [ebp - 0x2b8], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x1b
xor eax, ecx
mov word [ebp - 0x2b6], ax
mov eax, dword [ebp - 0x2f0]
add eax, 0x1c
xor eax, 0x64
mov word [ebp - 0x2b4], ax
xor eax, eax
mov word [ebp - 0x2b2], ax
xor edx, edx
mov ax, word [ebp - 0x2ec]
mov ax, word [ebp + edx*2 - 0x2ec]
mov ecx, dword [ebp - 0x2f0]
add ecx, edx
movzx eax, ax
xor ecx, eax
mov word [ebp + edx*2 - 0x2ec], cx
inc edx
cmp edx, 0x1d
jb 0x1005be74
xor eax, eax
push eax
push esi
push edi
push dword [ebp - 0x4f8]
mov word [ebp - 0x2b2], ax
lea eax, [ebp - 0x2ec]
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x1c
mov byte [ebp - 4], 5
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 0xe
mov ecx, eax
call fcn.10052676
mov byte [ebp - 4], 5
push ebx
push dword [ebp - 0x4e8]
call fcn.10006a60
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4ac]
call fcn.1001701c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
mov esi, 0xe023003c
jmp 0x1005c3f1
xor eax, eax
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], eax
mov byte [ebp - 4], bl
mov edi, eax
mov esi, dword [ebp - 0x4e8]
mov eax, dword [esi]
jmp 0x1005bf44
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
add edi, edx
cmp eax, esi
jne 0x1005bf38
push edi
lea ecx, [ebp - 0x504]
call fcn.1005c6c7
mov edi, dword [ebp - 0x4e8]
mov esi, dword [edi]
jmp 0x1005bf7f
mov eax, dword [esi + 8]
lea ecx, [ebp - 0x504]
push dword [ebp - 0x4f4]
push dword [eax + 4]
push dword [eax]
push dword [ebp - 0x500]
call fcn.1003dfa0
mov esi, dword [esi]
cmp esi, edi
jne 0x1005bf5e
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x504]
push eax
push dword [ebp - 0x504]
call fcn.10023e3b
lea edx, [ebp - 0x40]
xor ecx, ecx
lea esi, [ebp - 0x20]
mov eax, dword [edx + ecx*4]
cmp eax, dword [esi + ecx*4]
jne 0x1005c0f7
inc ecx
cmp ecx, 4
jne 0x1005bfa7
mov esi, dword [ebp - 0x4f4]
mov edi, dword [ebp - 0x4f8]
push edi
push esi
mov eax, dword [esi]
call dword [eax + 0xc]
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x504]
mov ecx, dword [esi]
push eax
push dword [ebp - 0x504]
push edi
push esi
call dword [ecx + 0x14]
mov eax, dword [esi]
lea ecx, [ebp - 0x20]
push ecx
push edi
push esi
call dword [eax + 0x24]
mov dword [ebp - 0x304], 0xebdd
mov eax, 0xebf8
mov word [ebp - 0x300], ax
add eax, 0xffffffb9
mov word [ebp - 0x2fe], ax
mov eax, 0xebae
mov word [ebp - 0x2fc], ax
xor eax, eax
mov word [ebp - 0x2fa], ax
xor edx, edx
mov ax, word [ebp - 0x300]
mov ax, word [ebp + edx*2 - 0x300]
movzx ecx, ax
movzx eax, word [ebp - 0x304]
xor ecx, eax
mov word [ebp + edx*2 - 0x300], cx
inc edx
cmp edx, 3
jb 0x1005c02f
xor eax, eax
mov word [ebp - 0x2fa], ax
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x300]
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b0e3
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x504]
call fcn.10006400
mov byte [ebp - 4], 5
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 0x15
mov ecx, eax
call fcn.10052676
mov byte [ebp - 4], 5
push ebx
push dword [ebp - 0x4e8]
call fcn.10006a60
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4ac]
call fcn.1001701c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x334]
call fcn.1001701c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.1001701c
xor eax, eax
jmp 0x1005c411
cmp dword [ebp - 0x29c], 8
lea esi, [ebp - 0x2b0]
mov ecx, 0x8c37
mov eax, 0x8c23
cmovae esi, dword [ebp - 0x2b0]
mov dword [ebp - 0x494], 0x8c5b
mov word [ebp - 0x490], ax
add eax, 0x15
mov word [ebp - 0x48e], ax
lea edi, [ecx + 0x44]
mov word [ebp - 0x48c], cx
lea eax, [ecx - 5]
mov word [ebp - 0x48a], ax
lea edx, [ecx - 4]
add eax, 2
mov word [ebp - 0x488], ax
lea eax, [ecx + 0x2a]
mov word [ebp - 0x486], ax
mov word [ebp - 0x484], ax
add eax, 0x1d
mov word [ebp - 0x482], di
mov word [ebp - 0x480], ax
mov word [ebp - 0x47e], dx
add edx, 0xfffffff5
mov word [ebp - 0x47c], dx
mov word [ebp - 0x47a], di
mov word [ebp - 0x478], ax
lea eax, [edi - 0x3c]
mov word [ebp - 0x476], cx
dec ecx
mov word [ebp - 0x474], dx
mov word [ebp - 0x472], di
mov word [ebp - 0x470], cx
mov word [ebp - 0x46e], ax
add eax, 0x2f
mov word [ebp - 0x46c], ax
lea eax, [edi - 0x49]
mov word [ebp - 0x46a], di
mov word [ebp - 0x468], cx
mov word [ebp - 0x466], ax
add eax, 8
mov word [ebp - 0x464], dx
mov word [ebp - 0x462], cx
mov word [ebp - 0x460], ax
lea eax, [edi - 0x4c]
mov word [ebp - 0x45e], ax
add eax, 9
mov word [ebp - 0x45c], ax
lea eax, [edi - 0x48]
mov word [ebp - 0x45a], ax
xor eax, eax
mov word [ebp - 0x458], ax
xor edx, edx
mov ax, word [ebp - 0x490]
mov ax, word [ebp + edx*2 - 0x490]
movzx ecx, ax
movzx eax, word [ebp - 0x494]
xor ecx, eax
mov word [ebp + edx*2 - 0x490], cx
inc edx
cmp edx, 0x1c
jb 0x1005c223
push esi
push dword [ebp - 0x4f8]
xor eax, eax
mov word [ebp - 0x458], ax
lea eax, [ebp - 0x490]
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x14
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x504]
call fcn.10006400
mov byte [ebp - 4], 5
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 0x12
mov ecx, eax
call fcn.10052676
mov byte [ebp - 4], 5
push ebx
push dword [ebp - 0x4e8]
call fcn.10006a60
pop ecx
pop ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4ac]
call fcn.1001701c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
mov esi, 0xe023003d
jmp 0x1005c3f1
cmp dword [ebp - 0x29c], 8
lea edi, [ebp - 0x2b0]
mov eax, 0xf578
mov edx, 0xf520
cmovae edi, dword [ebp - 0x2b0]
mov dword [ebp - 0x3b8], 0xf500
mov word [ebp - 0x3b4], ax
add eax, 0xffffffeb
mov word [ebp - 0x3b2], ax
lea ecx, [edx + 5]
mov eax, 0xf56c
mov word [ebp - 0x3b0], ax
add eax, 0xfffffffd
mov word [ebp - 0x3ae], ax
mov eax, 0xf56f
mov word [ebp - 0x3ac], ax
add eax, 0xffffffcb
mov word [ebp - 0x3aa], ax
mov word [ebp - 0x3a8], ax
lea eax, [edx + 0x4c]
mov word [ebp - 0x3a6], dx
mov word [ebp - 0x3a4], cx
mov word [ebp - 0x3a2], ax
add eax, 7
mov word [ebp - 0x3a0], ax
lea eax, [edx + 0x10]
mov word [ebp - 0x39e], dx
mov word [ebp - 0x39c], cx
mov word [ebp - 0x39a], ax
add eax, 8
mov word [ebp - 0x398], ax
lea eax, [edx + 0x58]
mov word [ebp - 0x396], ax
xor eax, eax
mov word [ebp - 0x394], ax
xor edx, edx
mov ax, word [ebp - 0x3b4]
mov ax, word [ebp + edx*2 - 0x3b4]
movzx ecx, ax
movzx eax, word [ebp - 0x3b8]
xor ecx, eax
mov word [ebp + edx*2 - 0x3b4], cx
inc edx
cmp edx, ebx
jb 0x1005c39f
xor eax, eax
push esi
mov word [ebp - 0x394], ax
lea eax, [ebp - 0x3b4]
push edi
push eax
push 1
push dword [ebp - 0x4e0]
call fcn.1005b10a
add esp, 0x14
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x368]
call fcn.1001701c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x334]
call fcn.1001701c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.1001701c
mov eax, esi
call fcn.10175118
ret 0x24