Function at 0x443720
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16dc
call fcn.00567840
push ebx
push esi
push edi
push 0x104
push 0
lea eax, [ebp - 0x15d8]
push eax
call fcn.00541ec0
add esp, 0xc
mov ecx, dword [0x5909e8]
mov dword [ebp - 0x970], ecx
xor edx, edx
mov dword [ebp - 0x97c], 0x66f5b2
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x97c]
mov ecx, dword [ebp - 0x978]
xor eax, 0x1c
xor ecx, 0
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x990], ecx
xor edx, edx
mov dword [ebp - 0x984], 0x1c
mov dword [ebp - 0x980], edx
mov eax, dword [0x58bb40]
xor eax, 0x7204
mov ecx, dword [0x58bb44]
xor ecx, 0
push 0
push 6
push ecx
push eax
call fcn.00567560
mov dword [ebp - 0x98c], eax
mov dword [ebp - 0x988], edx
xor edx, edx
mov dword [ebp - 0x99c], 0x10cc0
mov dword [ebp - 0x998], edx
mov eax, dword [ebp - 0x984]
mov ecx, dword [ebp - 0x980]
mov edx, dword [ebp - 0x988]
add eax, dword [ebp - 0x98c]
adc ecx, edx
add eax, 1
adc ecx, 0
mov dword [ebp - 0x9ac], eax
mov dword [ebp - 0x9a8], ecx
mov eax, dword [ebp - 0x994]
mov ecx, dword [ebp - 0x990]
mov edx, dword [ebp - 0x998]
sub eax, dword [ebp - 0x99c]
sbb ecx, edx
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x9a0], ecx
mov eax, dword [ebp - 0x9a4]
mov ecx, dword [ebp - 0x9a0]
mov edx, dword [ebp - 0x9ac]
mov esi, dword [ebp - 0x9a8]
push esi
push edx
push ecx
push eax
call fcn.00567440
mov dword [ebp - 0x9b4], eax
mov dword [ebp - 0x9b0], edx
lea eax, [ebp - 0x15d8]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x9b0]
mov dword [ebp - 0xce4], edx
push ecx
push 0
call dword [ebp - 0x970]
push 0x57b604
lea ecx, [ebp - 0xc48]
call fcn.00414fd0
mov eax, dword [ebp - 0xc38]
mov dword [ebp - 0x974], eax
cmp dword [ebp - 0x974], 0xf
jae 0x4438d8
cmp dword [ebp - 0xc38], 0
jne 0x4438af
mov dword [ebp - 0x3c8], 1
jmp 0x4438b9
mov dword [ebp - 0x3c8], 0
movzx ecx, byte [ebp - 0x3c8]
test ecx, ecx
jne 0x4438d8
lea edx, [ebp - 0xc48]
push edx
lea ecx, [ebp - 0xc48]
call fcn.00414e70
jmp 0x4438e5
push 0
lea ecx, [ebp - 0xc48]
call fcn.0041bb40
cmp dword [ebp - 0xc38], 0
jne 0x4438fa
mov dword [ebp - 0x3cc], 1
jmp 0x443904
mov dword [ebp - 0x3cc], 0
movzx eax, byte [ebp - 0x3cc]
test eax, eax
je 0x443976
push 8
lea ecx, [ebp - 0xc48]
call fcn.004ef4d0
mov dword [ebp - 0xe8], str.j3l6lrek
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xbb0], ecx
mov edx, dword [ebp - 0xe8]
mov al, byte [edx]
mov byte [ebp - 0x73], al
add dword [ebp - 0xe8], 1
cmp byte [ebp - 0x73], 0
jne 0x443935
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xbb0]
mov dword [ebp - 0xbb4], ecx
mov edx, dword [ebp - 0xbb4]
push edx
push str.j3l6lrek
lea ecx, [ebp - 0xc48]
call fcn.004172e0
lea ecx, [ebp - 0xc48]
call fcn.00417140
push 0x104
push 0
lea eax, [ebp - 0x16dc]
push eax
call fcn.00541ec0
add esp, 0xc
mov ecx, dword [0x5909e8]
mov dword [ebp - 0xbb8], ecx
xor edx, edx
mov dword [ebp - 0x9bc], 0x4c2430
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9bc]
mov ecx, dword [ebp - 0x9b8]
xor eax, 0x1c
xor ecx, 0
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d0], ecx
xor edx, edx
mov dword [ebp - 0x9c4], 0x1c
mov dword [ebp - 0x9c0], edx
mov eax, dword [0x58bb40]
xor eax, 0x7204
mov ecx, dword [0x58bb44]
xor ecx, 0
push 0
push 6
push ecx
push eax
call fcn.00567560
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9c8], edx
xor edx, edx
mov dword [ebp - 0x9dc], 0x10cc0
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x9c4]
mov ecx, dword [ebp - 0x9c0]
mov edx, dword [ebp - 0x9c8]
add eax, dword [ebp - 0x9cc]
adc ecx, edx
add eax, 1
adc ecx, 0
mov dword [ebp - 0x9ec], eax
mov dword [ebp - 0x9e8], ecx
mov eax, dword [ebp - 0x9d4]
mov ecx, dword [ebp - 0x9d0]
mov edx, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
sbb ecx, edx
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0x9e0], ecx
mov eax, dword [ebp - 0x9e4]
mov ecx, dword [ebp - 0x9e0]
mov edx, dword [ebp - 0x9ec]
mov esi, dword [ebp - 0x9e8]
push esi
push edx
push ecx
push eax
call fcn.00567440
mov dword [ebp - 0x9f4], eax
mov dword [ebp - 0x9f0], edx
lea eax, [ebp - 0x16dc]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x9f4]
mov edx, dword [ebp - 0x9f0]
mov dword [ebp - 0xdac], edx
push ecx
push 0
call dword [ebp - 0xbb8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov edx, dword [0x591f6c]
cmp edx, dword [ecx + 4]
jle 0x443b16
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x443b16
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x3dc], 0x591f70
mov eax, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [eax + 4]
sub edx, dword [ecx]
sar edx, 3
cmp edx, 0x64
jae 0x443b9b
mov byte [ebp - 0x93], 1
mov dword [ebp - 0x3e0], 0x591f70
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [eax + 4]
sub edx, dword [ecx]
sar edx, 3
xor edx, 0x36
mov dword [ebp - 0xbbc], edx
lea eax, [ebp - 0x93]
push eax
lea ecx, [ebp - 0xbbc]
push ecx
movzx edx, byte [ebp - 0x299]
push edx
lea ecx, [ebp - 0xcf8]
call fcn.004fb670
lea eax, [ebp - 0xcf8]
push eax
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x443ba5
mov ecx, 0x591f70
call fcn.004ee980
xor ecx, ecx
mov byte [ebp - 0x94], cl
lea edx, [ebp - 0x12d6]
push edx
lea ecx, [ebp - 0x94]
call fcn.00449300
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], 0
jmp 0x443be0
mov eax, dword [ebp - 0xec]
add eax, 1
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x1a
jae 0x443c37
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xbc0], ecx
mov edx, dword [ebp - 0xf0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xbc0]
add ecx, dword [ebp - 0xec]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0xe], dl
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xbc4], eax
mov ecx, dword [ebp - 0xbc4]
add ecx, dword [ebp - 0xec]
mov dl, byte [ebp - 0xe]
mov byte [ecx], dl
jmp 0x443bd1
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0xbc8], eax
mov ecx, 0x1a
shl ecx, 0
mov edx, dword [ebp - 0xbc8]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0xf0]
add eax, 1
mov dword [ebp - 0x3e4], eax
lea ecx, [ebp - 0xf10]
mov dword [ebp - 0xbcc], ecx
mov ecx, dword [ebp - 0xbcc]
call fcn.0041b910
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
add eax, 1
mov dword [ebp - 0xbd0], eax
mov ecx, dword [ebp - 0xf4]
mov dl, byte [ecx]
mov byte [ebp - 0xf], dl
add dword [ebp - 0xf4], 1
cmp byte [ebp - 0xf], 0
jne 0x443c99
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0xbd0]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x444]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
lea ecx, [ebp - 0xf10]
call fcn.0041a1e0
lea eax, [ebp - 0x15d8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0xf8]
mov al, byte [edx]
mov byte [ebp - 0x10], al
add dword [ebp - 0xf8], 1
cmp byte [ebp - 0x10], 0
jne 0x443cf7
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [ebp - 0x448]
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x44c]
push edx
lea eax, [ebp - 0x15d8]
push eax
push 0
lea ecx, [ebp - 0xf10]
call fcn.004f8c60
push eax
lea ecx, [ebp - 0x440]
call fcn.00414f60
lea ecx, [ebp - 0xf10]
call fcn.00417140
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x450], ecx
mov ecx, dword [ebp - 0x450]
call fcn.0041b910
mov dword [ebp - 0xfc], 0x579598
mov edx, dword [ebp - 0xfc]
add edx, 1
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0xfc]
mov cl, byte [eax]
mov byte [ebp - 0x11], cl
add dword [ebp - 0xfc], 1
cmp byte [ebp - 0x11], 0
jne 0x443d83
mov edx, dword [ebp - 0xfc]
sub edx, dword [ebp - 0x454]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
push eax
push 0x579598
lea ecx, [ebp - 0x428]
call fcn.0041a1e0
lea ecx, [ebp - 0x440]
call fcn.00414d00
push eax
call fcn.0042c650
movzx ecx, al
test ecx, ecx
jne 0x4441bb
xor edx, edx
mov byte [ebp - 0x12], dl
lea eax, [ebp - 0x1335]
push eax
lea ecx, [ebp - 0x12]
call fcn.004493e0
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 0
jmp 0x443e15
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x100], 0x20
jae 0x443e6c
mov edx, dword [ebp - 0x104]
add edx, 1
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x104]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x45c]
add edx, dword [ebp - 0x100]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x460]
add edx, dword [ebp - 0x100]
mov al, byte [ebp - 0x13]
mov byte [edx], al
jmp 0x443e06
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x464], ecx
mov edx, 0x20
shl edx, 0
mov eax, dword [ebp - 0x464]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x468], ecx
lea ecx, [ebp - 0x440]
call fcn.00414d00
mov dword [ebp - 0x46c], eax
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x46c]
push eax
call fcn.005419f0
add esp, 8
test eax, eax
je 0x4441bb
xor ecx, ecx
mov byte [ebp - 0x14], cl
lea edx, [ebp - 0x12f2]
push edx
lea ecx, [ebp - 0x14]
call fcn.004495e0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], 0
jmp 0x443f00
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0x1a
jae 0x443f57
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x10c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x470]
add ecx, dword [ebp - 0x108]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x10c]
add eax, 1
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x474]
add ecx, dword [ebp - 0x108]
mov dl, byte [ebp - 0x15]
mov byte [ecx], dl
jmp 0x443ef1
mov eax, dword [ebp - 0x10c]
add eax, 1
mov dword [ebp - 0x478], eax
mov ecx, 0x1a
shl ecx, 0
mov edx, dword [ebp - 0x478]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x10c]
add eax, 1
mov dword [ebp - 0x2e4], eax
lea ecx, [ebp - 0xe20]
mov dword [ebp - 0x47c], ecx
mov ecx, dword [ebp - 0x47c]
call fcn.0041b910
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x110]
mov dl, byte [ecx]
mov byte [ebp - 0x16], dl
add dword [ebp - 0x110], 1
cmp byte [ebp - 0x16], 0
jne 0x443fb9
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x480]
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
push ecx
mov edx, dword [ebp - 0x2e4]
push edx
lea ecx, [ebp - 0xe20]
call fcn.0041a1e0
lea eax, [ebp - 0xe20]
mov dword [ebp - 0x4a0], eax
xor ecx, ecx
mov byte [ebp - 0x17], cl
lea edx, [ebp - 0x1357]
push edx
lea ecx, [ebp - 0x17]
call fcn.004494e0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], 0
jmp 0x44403d
mov eax, dword [ebp - 0x114]
add eax, 1
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x20
jae 0x444094
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x118]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x488]
add ecx, dword [ebp - 0x114]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x18], dl
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x48c]
add ecx, dword [ebp - 0x114]
mov dl, byte [ebp - 0x18]
mov byte [ecx], dl
jmp 0x44402e
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x490], eax
mov ecx, 0x20
shl ecx, 0
mov edx, dword [ebp - 0x490]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x118]
add eax, 1
mov dword [ebp - 0x2e8], eax
lea ecx, [ebp - 0xe08]
mov dword [ebp - 0x494], ecx
mov ecx, dword [ebp - 0x494]
call fcn.0041b910
mov edx, dword [ebp - 0x2e8]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x11c]
add eax, 1
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x11c]
mov dl, byte [ecx]
mov byte [ebp - 0x19], dl
add dword [ebp - 0x11c], 1
cmp byte [ebp - 0x19], 0
jne 0x4440f6
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 0x498]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
push ecx
mov edx, dword [ebp - 0x2e8]
push edx
lea ecx, [ebp - 0xe08]
call fcn.0041a1e0
lea eax, [ebp - 0xe08]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x4a0]
push ecx
mov edx, dword [ebp - 0x4a4]
push edx
lea eax, [ebp - 0x440]
push eax
call fcn.0042c4a0
add esp, 0xc
lea ecx, [ebp - 0xe08]
call fcn.00417140
lea ecx, [ebp - 0xe20]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00414d00
push eax
call fcn.0042c650
movzx ecx, al
test ecx, ecx
jne 0x4441bb
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
jmp 0x4492f0
lea edx, [ebp - 0xbe8]
mov dword [ebp - 0x4a8], edx
mov ecx, dword [ebp - 0x4a8]
call fcn.0041b910
mov dword [ebp - 0x120], 0x579598
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x120]
mov dl, byte [ecx]
mov byte [ebp - 0x1a], dl
add dword [ebp - 0x120], 1
cmp byte [ebp - 0x1a], 0
jne 0x4441eb
mov eax, dword [ebp - 0x120]
sub eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], eax
mov ecx, dword [ebp - 0x4b0]
push ecx
push 0x579598
lea ecx, [ebp - 0xbe8]
call fcn.0041a1e0
mov edx, dword [0x5909e4]
mov dword [ebp - 0x4cc], edx
mov eax, dword [0x58bb50]
xor eax, 0x7204
mov ecx, dword [0x58bb54]
xor ecx, 0
push 0
push 0x20019
push ecx
push eax
call fcn.00567560
push 0
push 5
push edx
push eax
call fcn.00567560
mov esi, eax
mov edi, edx
add esi, 0x3802bc
adc edi, 0
push 0
push 0x7204
mov edx, dword [0x58bb44]
push edx
mov eax, dword [0x58bb40]
push eax
call fcn.00567560
push 0
push 0x1c
push edx
push eax
call fcn.00567440
add esi, eax
adc edi, edx
add esi, 0x20019
adc edi, 0
xor esi, 0x1c
xor edi, 0
push edi
push esi
call fcn.0041fbd0
add esp, 8
mov dword [ebp - 0x4c0], eax
mov eax, dword [0x58bb4c]
cdq
mov esi, eax
mov edi, edx
add esi, 8
adc edi, 0
mov eax, dword [0x58bb4c]
cdq
add eax, 0x7204
adc edx, 0
push 0
push 0x7204
push edx
push eax
call fcn.00567560
add eax, 1
adc edx, 0
push edi
push esi
push edx
push eax
call fcn.00567560
mov ecx, eax
mov esi, edx
mov eax, dword [0x58bb48]
cdq
add eax, 8
adc edx, 0
add eax, ecx
adc edx, esi
add eax, 0x7204
adc edx, 0
push edx
push eax
call fcn.0041fb00
add esp, 8
mov dword [ebp - 0x4c4], eax
xor edx, edx
mov byte [ebp - 0x1b], dl
lea eax, [ebp - 0x1313]
push eax
lea ecx, [ebp - 0x1b]
call fcn.004496c0
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], 0
jmp 0x444354
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0x1f
jae 0x4443ab
mov edx, dword [ebp - 0x128]
add edx, 1
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x128]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x4b4]
add edx, dword [ebp - 0x124]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x1c], al
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4b8]
add edx, dword [ebp - 0x124]
mov al, byte [ebp - 0x1c]
mov byte [edx], al
jmp 0x444345
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov dword [ebp - 0x4bc], ecx
mov edx, 0x1f
shl edx, 0
mov eax, dword [ebp - 0x4bc]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x128]
add ecx, 1
mov dword [ebp - 0x4c8], ecx
xor edx, edx
mov dword [ebp - 0x9fc], 0x10cdc
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9fc]
mov ecx, dword [ebp - 0x9f8]
xor eax, 0x1c
xor ecx, 0
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa10], ecx
xor edx, edx
mov dword [ebp - 0xa04], 0x1c
mov dword [ebp - 0xa00], edx
mov eax, dword [0x58bb40]
xor eax, 0x7204
mov ecx, dword [0x58bb44]
xor ecx, 0
push 0
push 6
push ecx
push eax
call fcn.00567560
mov dword [ebp - 0xa0c], eax
mov dword [ebp - 0xa08], edx
xor edx, edx
mov dword [ebp - 0xa1c], 0x10cc0
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa04]
mov ecx, dword [ebp - 0xa00]
mov edx, dword [ebp - 0xa08]
add eax, dword [ebp - 0xa0c]
adc ecx, edx
add eax, 1
adc ecx, 0
mov dword [ebp - 0xa2c], eax
mov dword [ebp - 0xa28], ecx
mov eax, dword [ebp - 0xa14]
mov ecx, dword [ebp - 0xa10]
mov edx, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa1c]
sbb ecx, edx
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0xa20], ecx
mov eax, dword [ebp - 0xa24]
mov ecx, dword [ebp - 0xa20]
mov edx, dword [ebp - 0xa2c]
mov esi, dword [ebp - 0xa28]
push esi
push edx
push ecx
push eax
call fcn.00567440
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa30], edx
lea eax, [ebp - 0x2ec]
push eax
mov ecx, dword [ebp - 0x4c0]
push ecx
mov edx, dword [ebp - 0x4c4]
push edx
mov eax, dword [ebp - 0x4c8]
push eax
push SysReAllocString
call dword [ebp - 0x4cc]
cdq
mov ecx, dword [ebp - 0xa34]
mov esi, dword [ebp - 0xa30]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], edx
mov dword [ebp - 0xa44], ecx
mov dword [ebp - 0xa40], esi
mov edx, dword [ebp - 0xa3c]
cmp edx, dword [ebp - 0xa44]
jne 0x444a5d
mov eax, dword [ebp - 0xa38]
cmp eax, dword [ebp - 0xa40]
jne 0x444a5d
push 0x104
push 0
lea ecx, [ebp - 0x14d4]
push ecx
call fcn.00541ec0
add esp, 0xc
mov dword [ebp - 0x4e0], 0
mov dword [ebp - 0x4dc], 0x104
mov edx, dword [0x5909a4]
mov dword [ebp - 0x4ec], edx
xor eax, eax
mov byte [ebp - 0x1d], al
lea ecx, [ebp - 0xfb9]
push ecx
lea ecx, [ebp - 0x1d]
call fcn.004497c0
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], 0
jmp 0x4445b3
mov edx, dword [ebp - 0x12c]
add edx, 1
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x12c], 7
jae 0x44460a
mov eax, dword [ebp - 0x130]
add eax, 1
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x130]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x4d0]
add eax, dword [ebp - 0x12c]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x1e], cl
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
add eax, dword [ebp - 0x12c]
mov cl, byte [ebp - 0x1e]
mov byte [eax], cl
jmp 0x4445a4
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x4d8], edx
mov eax, 7
shl eax, 0
mov ecx, dword [ebp - 0x4d8]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x4e8], eax
lea ecx, [ebp - 0x4dc]
push ecx
lea edx, [ebp - 0x14d4]
push edx
lea eax, [ebp - 0x4e0]
push eax
push 0
mov ecx, dword [ebp - 0x4e4]
push ecx
mov edx, dword [ebp - 0x4e8]
push edx
call dword [ebp - 0x4ec]
mov eax, dword [0x59095c]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x2ec]
push ecx
call dword [ebp - 0x4f0]
xor edx, edx
mov byte [ebp - 0x1f], dl
lea eax, [ebp - 0x1195]
push eax
lea ecx, [ebp - 0x1f]
call fcn.00449810
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], 0
jmp 0x4446be
mov ecx, dword [ebp - 0x134]
add ecx, 1
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 0xe
jae 0x444715
mov edx, dword [ebp - 0x138]
add edx, 1
mov dword [ebp - 0x4f4], edx
mov eax, dword [ebp - 0x138]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x4f4]
add edx, dword [ebp - 0x134]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x20], al
mov ecx, dword [ebp - 0x138]
add ecx, 1
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
add edx, dword [ebp - 0x134]
mov al, byte [ebp - 0x20]
mov byte [edx], al
jmp 0x4446af
mov ecx, dword [ebp - 0x138]
add ecx, 1
mov dword [ebp - 0x4fc], ecx
mov edx, 0xe
shl edx, 0
mov eax, dword [ebp - 0x4fc]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x138]
add ecx, 1
mov dword [ebp - 0x2f0], ecx
lea edx, [ebp - 0xe38]
mov dword [ebp - 0x500], edx
mov ecx, dword [ebp - 0x500]
call fcn.0041b910
lea eax, [ebp - 0x14d4]
mov dword [ebp - 0x13c], eax
mov ecx, dword [ebp - 0x13c]
add ecx, 1
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x13c]
mov al, byte [edx]
mov byte [ebp - 0x21], al
add dword [ebp - 0x13c], 1
cmp byte [ebp - 0x21], 0
jne 0x444777
mov ecx, dword [ebp - 0x13c]
sub ecx, dword [ebp - 0x504]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
push edx
lea eax, [ebp - 0x14d4]
push eax
lea ecx, [ebp - 0xe38]
call fcn.0041a1e0
lea ecx, [ebp - 0xe38]
mov dword [ebp - 0x518], ecx
xor edx, edx
mov byte [ebp - 0x29a], dl
mov byte [ebp - 9], 0x34
mov byte [ebp - 8], 0x68
mov byte [ebp - 7], 0
mov dword [ebp - 0x140], 0
jmp 0x4447f5
mov eax, dword [ebp - 0x140]
add eax, 1
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 1
jae 0x44483b
lea ecx, [ebp - 8]
mov dword [ebp - 0x50c], ecx
movsx edx, byte [ebp - 9]
mov eax, dword [ebp - 0x50c]
add eax, dword [ebp - 0x140]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x22], cl
lea edx, [ebp - 8]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
add eax, dword [ebp - 0x140]
mov cl, byte [ebp - 0x22]
mov byte [eax], cl
jmp 0x4447e6
lea edx, [ebp - 8]
mov dword [ebp - 0x514], edx
mov eax, 1
shl eax, 0
mov ecx, dword [ebp - 0x514]
mov byte [ecx + eax], 0
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x10f0]
push ecx
call fcn.004186f0
add esp, 0xc
mov dword [ebp - 0x51c], eax
mov edx, dword [ebp - 0x518]
push edx
mov eax, dword [ebp - 0x51c]
push eax
movzx ecx, byte [ebp - 0x29b]
push ecx
lea ecx, [ebp - 0xf38]
call fcn.0041b400
lea edx, [ebp - 0xf38]
mov dword [ebp - 0x528], edx
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
add ecx, 1
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x144]
mov al, byte [edx]
mov byte [ebp - 0x23], al
add dword [ebp - 0x144], 1
cmp byte [ebp - 0x23], 0
jne 0x4448be
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x520]
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x2f0]
push eax
mov ecx, dword [ebp - 0x528]
call fcn.00417380
push eax
lea ecx, [ebp - 0xdd8]
call fcn.00414f60
lea ecx, [ebp - 0xdd8]
lea edx, [ebp - 0x428]
cmp edx, ecx
jne 0x44491f
jmp 0x44495e
lea eax, [ebp - 0x428]
mov dword [ebp - 0xcec], eax
lea ecx, [ebp - 0xdd8]
mov dword [ebp - 0xcf0], ecx
mov dword [ebp - 0xd9c], 0
lea ecx, [ebp - 0x428]
call fcn.00417140
lea edx, [ebp - 0xdd8]
push edx
lea ecx, [ebp - 0x428]
call fcn.00417440
lea ecx, [ebp - 0xdd8]
call fcn.00417140
lea ecx, [ebp - 0xf38]
call fcn.00417140
lea ecx, [ebp - 0x10f0]
call fcn.00417140
lea ecx, [ebp - 0xe38]
call fcn.00417140
lea eax, [ebp - 0xd50]
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
call fcn.0041b910
lea ecx, [ebp - 0x14d4]
mov dword [ebp - 0x148], ecx
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x148]
mov cl, byte [eax]
mov byte [ebp - 0x24], cl
add dword [ebp - 0x148], 1
cmp byte [ebp - 0x24], 0
jne 0x4449bc
mov edx, dword [ebp - 0x148]
sub edx, dword [ebp - 0x530]
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x534]
push eax
lea ecx, [ebp - 0x14d4]
push ecx
lea ecx, [ebp - 0xd50]
call fcn.0041a1e0
lea edx, [ebp - 0xd50]
lea eax, [ebp - 0xbe8]
cmp eax, edx
jne 0x444a11
jmp 0x444a50
lea ecx, [ebp - 0xbe8]
mov dword [ebp - 0xda0], ecx
lea edx, [ebp - 0xd50]
mov dword [ebp - 0xdc0], edx
mov dword [ebp - 0xce8], 0
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea eax, [ebp - 0xd50]
push eax
lea ecx, [ebp - 0xbe8]
call fcn.00417440
lea ecx, [ebp - 0xd50]
call fcn.00417140
jmp 0x444a93
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
jmp 0x4492f0
sub esp, 0x18
mov ecx, esp
lea edx, [ebp - 0x428]
push edx
call fcn.004150c0
lea eax, [ebp - 0x3f0]
push eax
call fcn.00441cc0
add esp, 0x1c
xor ecx, ecx
mov byte [ebp - 0x25], cl
lea edx, [ebp - 0x137e]
push edx
lea ecx, [ebp - 0x25]
call fcn.00442820
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], 0
jmp 0x444ae8
mov eax, dword [ebp - 0x14c]
add eax, 1
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x25
jae 0x444b3f
mov ecx, dword [ebp - 0x150]
add ecx, 1
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x150]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x538]
add ecx, dword [ebp - 0x14c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x26], dl
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
add ecx, dword [ebp - 0x14c]
mov dl, byte [ebp - 0x26]
mov byte [ecx], dl
jmp 0x444ad9
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x540], eax
mov ecx, 0x25
shl ecx, 0
mov edx, dword [ebp - 0x540]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x150]
add eax, 1
mov dword [ebp - 0x2f4], eax
sub esp, 0x18
mov dword [ebp - 0x2f8], esp
mov ecx, dword [ebp - 0x2f8]
mov dword [ebp - 0x544], ecx
mov ecx, dword [ebp - 0x544]
call fcn.0041b910
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x154]
mov dl, byte [ecx]
mov byte [ebp - 0x27], dl
add dword [ebp - 0x154], 1
cmp byte [ebp - 0x27], 0
jne 0x444baa
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x548]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x2f4]
push edx
mov ecx, dword [ebp - 0x2f8]
call fcn.0041a1e0
lea eax, [ebp - 0x3d8]
push eax
call fcn.00442940
add esp, 0x1c
lea ecx, [ebp - 0x3d8]
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
mov eax, ecx
cdq
mov ecx, 0x18
idiv ecx
test eax, eax
jbe 0x444c33
mov dword [ebp - 0x300], 1
jmp 0x444c3d
mov dword [ebp - 0x300], 0
mov dl, byte [ebp - 0x300]
mov byte [ebp - 0x92], dl
mov byte [ebp - 2], 0
mov byte [ebp - 3], 0
lea eax, [ebp - 0xc78]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
call fcn.0041b910
mov dword [ebp - 0x158], 0x579598
mov ecx, dword [ebp - 0x158]
add ecx, 1
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x158]
mov al, byte [edx]
mov byte [ebp - 0x28], al
add dword [ebp - 0x158], 1
cmp byte [ebp - 0x28], 0
jne 0x444c81
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x554]
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x558]
push edx
push 0x579598
lea ecx, [ebp - 0xc78]
call fcn.0041a1e0
mov dword [ebp - 0xc4], 0
jmp 0x444cdd
lea ecx, [ebp - 0x3d8]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x304]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
mov eax, ecx
cdq
mov ecx, 0x18
idiv ecx
cmp dword [ebp - 0xc4], eax
jae 0x448f99
lea edx, [ebp - 0x3d8]
mov dword [ebp - 0x55c], edx
imul eax, dword [ebp - 0xc4], 0x18
mov ecx, dword [ebp - 0x55c]
add eax, dword [ecx]
mov dword [ebp - 0x580], eax
xor edx, edx
mov byte [ebp - 0x29], dl
lea eax, [ebp - 0x12ba]
push eax
lea ecx, [ebp - 0x29]
call fcn.00449890
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], 0
jmp 0x444d66
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
cmp dword [ebp - 0x15c], 0x19
jae 0x444dbd
mov edx, dword [ebp - 0x160]
add edx, 1
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x560]
add edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x2a], al
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov dword [ebp - 0x564], ecx
mov edx, dword [ebp - 0x564]
add edx, dword [ebp - 0x15c]
mov al, byte [ebp - 0x2a]
mov byte [edx], al
jmp 0x444d57
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov dword [ebp - 0x568], ecx
mov edx, 0x19
shl edx, 0
mov eax, dword [ebp - 0x568]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov dword [ebp - 0x308], ecx
lea edx, [ebp - 0xe50]
mov dword [ebp - 0x56c], edx
mov ecx, dword [ebp - 0x56c]
call fcn.0041b910
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
add ecx, 1
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x164]
mov al, byte [edx]
mov byte [ebp - 0x2b], al
add dword [ebp - 0x164], 1
cmp byte [ebp - 0x2b], 0
jne 0x444e1f
mov ecx, dword [ebp - 0x164]
sub ecx, dword [ebp - 0x570]
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x574]
push edx
mov eax, dword [ebp - 0x308]
push eax
lea ecx, [ebp - 0xe50]
call fcn.0041a1e0
lea ecx, [ebp - 0x16dc]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x168]
add edx, 1
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x168]
mov cl, byte [eax]
mov byte [ebp - 0x2c], cl
add dword [ebp - 0x168], 1
cmp byte [ebp - 0x2c], 0
jne 0x444e7d
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x578]
mov dword [ebp - 0x57c], edx
mov eax, dword [ebp - 0x57c]
push eax
lea ecx, [ebp - 0x16dc]
push ecx
push 0
lea ecx, [ebp - 0xe50]
call fcn.004f8c60
push eax
lea ecx, [ebp - 0xf50]
call fcn.00414f60
lea edx, [ebp - 0xf50]
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x580]
push eax
mov ecx, dword [ebp - 0x584]
call fcn.00414e70
push eax
lea ecx, [ebp - 0xc90]
call fcn.00414f60
lea ecx, [ebp - 0xf50]
call fcn.00417140
lea ecx, [ebp - 0xe50]
call fcn.00417140
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx]
mov eax, dword [0x591f6c]
cmp eax, dword [edx + 4]
jle 0x444f5e
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x444f5e
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x30c], 0x591f70
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x30c]
mov eax, dword [ecx + 4]
sub eax, dword [edx]
sar eax, 3
cmp eax, 0x64
jae 0x444fdd
mov byte [ebp - 0x2d], 1
mov dword [ebp - 0x310], 0x591f70
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x310]
mov eax, dword [ecx + 4]
sub eax, dword [edx]
sar eax, 3
xor eax, 0x36
mov dword [ebp - 0x588], eax
lea ecx, [ebp - 0x2d]
push ecx
lea edx, [ebp - 0x588]
push edx
movzx eax, byte [ebp - 0x29c]
push eax
lea ecx, [ebp - 0xd00]
call fcn.004fb670
lea ecx, [ebp - 0xd00]
push ecx
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x444fe7
mov ecx, 0x591f70
call fcn.004ee980
xor edx, edx
mov byte [ebp - 0x2e], dl
lea eax, [ebp - 0x125d]
push eax
lea ecx, [ebp - 0x2e]
call fcn.00449960
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], 0
jmp 0x44501c
mov ecx, dword [ebp - 0x16c]
add ecx, 1
mov dword [ebp - 0x16c], ecx
cmp dword [ebp - 0x16c], 0x13
jae 0x445073
mov edx, dword [ebp - 0x170]
add edx, 1
mov dword [ebp - 0x58c], edx
mov eax, dword [ebp - 0x170]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x58c]
add edx, dword [ebp - 0x16c]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x2f], al
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x590], ecx
mov edx, dword [ebp - 0x590]
add edx, dword [ebp - 0x16c]
mov al, byte [ebp - 0x2f]
mov byte [edx], al
jmp 0x44500d
mov ecx, dword [ebp - 0x170]
add ecx, 1
mov dword [ebp - 0x594], ecx
mov edx, 0x13
shl edx, 0
mov eax, dword [ebp - 0x594]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x170]
add ecx, 1
push ecx
lea edx, [ebp - 0xc90]
push edx
lea eax, [ebp - 0xcc0]
push eax
call fcn.004186f0
add esp, 0xc
sub esp, 0x18
mov ecx, esp
lea edx, [ebp - 0xcc0]
push edx
call fcn.004150c0
lea eax, [ebp - 0xca8]
push eax
call fcn.00440ef0
add esp, 0x1c
mov ecx, dword [ebp - 0xc98]
mov dword [ebp - 0x598], ecx
cmp dword [ebp - 0x598], 0
jne 0x445161
lea ecx, [ebp - 0xca8]
call fcn.00417140
lea ecx, [ebp - 0xcc0]
call fcn.00417140
lea ecx, [ebp - 0xc90]
call fcn.00417140
lea ecx, [ebp - 0xc78]
call fcn.00417140
lea ecx, [ebp - 0x3d8]
call fcn.004f23d0
lea ecx, [ebp - 0x3f0]
call fcn.0041e940
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
jmp 0x4492f0
push 0
push 1
sub esp, 0x28
mov dword [ebp - 0x59c], esp
mov edx, 4
imul eax, edx, 9
mov ecx, dword [ebp - 0x59c]
mov dword [ecx + eax], 0
lea edx, [ebp - 0xca8]
push edx
lea eax, [ebp - 0x298]
push eax
call fcn.004f4ab0
add esp, 0x38
cmp byte [ebp - 0x298], 0
jne 0x4451ae
mov dword [ebp - 0x314], 1
jmp 0x4451b8
mov dword [ebp - 0x314], 0
movzx ecx, byte [ebp - 0x314]
test ecx, ecx
jne 0x44521f
cmp byte [ebp - 0x298], 1
jne 0x4451d8
mov dword [ebp - 0x318], 1
jmp 0x4451e2
mov dword [ebp - 0x318], 0
movzx edx, byte [ebp - 0x318]
test edx, edx
jne 0x4452b6
cmp byte [ebp - 0x298], 2
jne 0x445206
mov dword [ebp - 0x31c], 1
jmp 0x445210
mov dword [ebp - 0x31c], 0
movzx eax, byte [ebp - 0x31c]
test eax, eax
jne 0x4452b6
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x5a0], ecx
movzx edx, byte [ebp - 0x298]
push edx
mov ecx, dword [ebp - 0x5a0]
call fcn.004f1720
lea ecx, [ebp - 0xca8]
call fcn.00417140
lea ecx, [ebp - 0xcc0]
call fcn.00417140
lea ecx, [ebp - 0xc90]
call fcn.00417140
lea ecx, [ebp - 0xc78]
call fcn.00417140
lea ecx, [ebp - 0x3d8]
call fcn.004f23d0
lea ecx, [ebp - 0x3f0]
call fcn.0041e940
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
jmp 0x4492f0
push 0
push 1
sub esp, 0x28
mov dword [ebp - 0x5a4], esp
mov eax, 4
imul ecx, eax, 9
mov edx, dword [ebp - 0x5a4]
mov dword [edx + ecx], 0
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.004f4ab0
add esp, 0x38
lea edx, [ebp - 0x2c8]
push edx
call fcn.004418f0
add esp, 4
movzx eax, al
test eax, eax
je 0x44537b
mov ecx, dword [0x5909e0]
mov dword [ebp - 0x5a8], ecx
mov eax, dword [0x58bb48]
cdq
mov esi, eax
mov edi, edx
add esi, 8
adc edi, 0
mov eax, dword [0x58bb4c]
cdq
add eax, 0x7204
adc edx, 0
push 0
push 0x7204
push edx
push eax
call fcn.00567560
mov ecx, eax
mov ebx, edx
add ecx, 1
adc ebx, 0
mov eax, dword [0x58bb4c]
cdq
add eax, 8
adc edx, 0
push edx
push eax
push ebx
push ecx
call fcn.00567560
add esi, eax
adc edi, edx
add esi, 0x7204
adc edi, 0
push edi
push esi
call fcn.0041fb00
add esp, 8
push eax
call dword [ebp - 0x5a8]
jmp 0x4452eb
lea edx, [ebp - 0x2c8]
push edx
lea ecx, [ebp - 0xde8]
call fcn.004f1360
lea ecx, [ebp - 0xde8]
call fcn.004f12c0
lea ecx, [ebp - 0xde8]
call fcn.004edb10
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004150c0
mov eax, dword [ebp - 0xc68]
mov dword [ebp - 0x5ac], eax
cmp dword [ebp - 0x5ac], 0
jne 0x4453d6
lea ecx, [ebp - 0x2e0]
push ecx
lea ecx, [ebp - 0xc78]
call fcn.00414ee0
lea edx, [ebp - 0x2e0]
push edx
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x5c0], eax
xor eax, eax
mov byte [ebp - 0x30], al
lea ecx, [ebp - 0x11c8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00449a10
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], 0
jmp 0x445423
mov edx, dword [ebp - 0x174]
add edx, 1
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0xf
jae 0x44547a
mov eax, dword [ebp - 0x178]
add eax, 1
mov dword [ebp - 0x5b0], eax
mov ecx, dword [ebp - 0x178]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5b0]
add eax, dword [ebp - 0x174]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x31], cl
mov edx, dword [ebp - 0x178]
add edx, 1
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b4]
add eax, dword [ebp - 0x174]
mov cl, byte [ebp - 0x31]
mov byte [eax], cl
jmp 0x445414
mov edx, dword [ebp - 0x178]
add edx, 1
mov dword [ebp - 0x5b8], edx
mov eax, 0xf
shl eax, 0
mov ecx, dword [ebp - 0x5b8]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x178]
add edx, 1
mov dword [ebp - 0x5bc], edx
mov eax, dword [ebp - 0x5bc]
push eax
mov ecx, dword [ebp - 0x5c0]
call fcn.004f48c0
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x5c4]
cmp byte [ecx], 0
jne 0x4454d9
mov dword [ebp - 0x320], 1
jmp 0x4454e3
mov dword [ebp - 0x320], 0
movzx edx, byte [ebp - 0x320]
test edx, edx
jne 0x445baa
mov byte [ebp - 1], 0
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x5d8], eax
xor ecx, ecx
mov byte [ebp - 0x32], cl
lea edx, [ebp - 0x11b7]
push edx
lea ecx, [ebp - 0x32]
call fcn.00449aa0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], 0
jmp 0x445543
mov eax, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0xf
jae 0x44559a
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x5c8], ecx
mov edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x5c8]
add ecx, dword [ebp - 0x17c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x33], dl
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x5cc], eax
mov ecx, dword [ebp - 0x5cc]
add ecx, dword [ebp - 0x17c]
mov dl, byte [ebp - 0x33]
mov byte [ecx], dl
jmp 0x445534
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x5d0], eax
mov ecx, 0xf
shl ecx, 0
mov edx, dword [ebp - 0x5d0]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x180]
add eax, 1
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d4]
push ecx
mov ecx, dword [ebp - 0x5d8]
call fcn.004f48c0
mov dword [ebp - 0x5dc], eax
mov edx, dword [ebp - 0x5dc]
mov dword [ebp - 0x5e0], edx
lea eax, [ebp - 0x5e0]
mov dword [ebp - 0x324], eax
lea ecx, [ebp - 0x100c]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004edad0
lea edx, [ebp - 0x1248]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004eda90
jmp 0x44563a
lea ecx, [ebp - 0x100c]
call fcn.004f1250
mov eax, dword [ebp - 0xffc]
add eax, 1
mov dword [ebp - 0xffc], eax
lea ecx, [ebp - 0x100c]
mov dword [ebp - 0x5e4], ecx
lea edx, [ebp - 0x1248]
push edx
mov ecx, dword [ebp - 0x5e4]
call fcn.004f38b0
movzx eax, al
test eax, eax
jne 0x44566b
mov dword [ebp - 0x328], 1
jmp 0x445675
mov dword [ebp - 0x328], 0
movzx ecx, byte [ebp - 0x328]
test ecx, ecx
je 0x44594b
lea edx, [ebp - 0x100c]
mov dword [ebp - 0x600], edx
xor eax, eax
mov byte [ebp - 0x34], al
lea ecx, [ebp - 0xf18]
push ecx
lea ecx, [ebp - 0x34]
call fcn.00449b80
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], 0
jmp 0x4456c5
mov edx, dword [ebp - 0x184]
add edx, 1
mov dword [ebp - 0x184], edx
cmp dword [ebp - 0x184], 6
jae 0x44571c
mov eax, dword [ebp - 0x188]
add eax, 1
mov dword [ebp - 0x5e8], eax
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x5e8]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x35], cl
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5ec]
add eax, dword [ebp - 0x184]
mov cl, byte [ebp - 0x35]
mov byte [eax], cl
jmp 0x4456b6
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x5f0], edx
mov eax, 6
shl eax, 0
mov ecx, dword [ebp - 0x5f0]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x32c], edx
lea eax, [ebp - 0xe68]
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
call fcn.0041b910
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x18c]
mov cl, byte [eax]
mov byte [ebp - 0x36], cl
add dword [ebp - 0x18c], 1
cmp byte [ebp - 0x36], 0
jne 0x44577e
mov edx, dword [ebp - 0x18c]
sub edx, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x5fc]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
lea ecx, [ebp - 0xe68]
call fcn.0041a1e0
lea edx, [ebp - 0xe68]
mov dword [ebp - 0x620], edx
mov ecx, dword [ebp - 0x600]
call fcn.004f3960
mov dword [ebp - 0x614], eax
xor eax, eax
mov byte [ebp - 0x37], al
lea ecx, [ebp - 0xfc2]
push ecx
lea ecx, [ebp - 0x37]
call fcn.00449b30
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], 0
jmp 0x445813
mov edx, dword [ebp - 0x190]
add edx, 1
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 7
jae 0x44586a
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x604]
add eax, dword [ebp - 0x190]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x38], cl
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
add eax, dword [ebp - 0x190]
mov cl, byte [ebp - 0x38]
mov byte [eax], cl
jmp 0x445804
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x60c], edx
mov eax, 7
shl eax, 0
mov ecx, dword [ebp - 0x60c]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x194]
add edx, 1
mov dword [ebp - 0x610], edx
mov eax, dword [ebp - 0x610]
push eax
mov ecx, dword [ebp - 0x614]
call fcn.004f48c0
mov dword [ebp - 0x61c], eax
lea ecx, [ebp - 0xd68]
mov dword [ebp - 0x618], ecx
mov ecx, dword [ebp - 0x618]
call fcn.0041b910
lea ecx, [ebp - 0xd68]
call fcn.00417560
lea edx, [ebp - 0xd68]
mov dword [ebp - 0xda4], edx
mov eax, dword [0x58bb70]
mov dword [ebp - 0xda8], eax
lea ecx, [ebp - 0xd68]
push ecx
mov edx, dword [ebp - 0x61c]
push edx
call fcn.00507170
add esp, 8
lea eax, [ebp - 0xd68]
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x620]
push ecx
mov ecx, dword [ebp - 0x624]
call fcn.0041b270
mov byte [ebp - 0x39], al
lea ecx, [ebp - 0xd68]
call fcn.00417140
lea ecx, [ebp - 0xe68]
call fcn.00417140
movzx edx, byte [ebp - 0x39]
test edx, edx
je 0x445946
mov byte [ebp - 1], 1
jmp 0x44594b
jmp 0x445620
lea ecx, [ebp - 0x1218]
call fcn.00417140
lea ecx, [ebp - 0x1230]
call fcn.00417140
lea ecx, [ebp - 0xfdc]
call fcn.00417140
lea ecx, [ebp - 0xff4]
call fcn.00417140
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x445a44
lea ecx, [ebp - 0x2e0]
call fcn.00417140
lea ecx, [ebp - 0x2c0]
mov dword [ebp - 0x628], ecx
movzx edx, byte [ebp - 0x2c8]
push edx
mov ecx, dword [ebp - 0x628]
call fcn.004f1720
lea eax, [ebp - 0x290]
mov dword [ebp - 0x62c], eax
movzx ecx, byte [ebp - 0x298]
push ecx
mov ecx, dword [ebp - 0x62c]
call fcn.004f1720
lea ecx, [ebp - 0xca8]
call fcn.00417140
lea ecx, [ebp - 0xcc0]
call fcn.00417140
lea ecx, [ebp - 0xc90]
call fcn.00417140
lea ecx, [ebp - 0xc78]
call fcn.00417140
lea ecx, [ebp - 0x3d8]
call fcn.004f23d0
lea ecx, [ebp - 0x3f0]
call fcn.0041e940
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
jmp 0x4492f0
lea edx, [ebp - 0x2e0]
push edx
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x648], eax
xor eax, eax
mov byte [ebp - 0x3a], al
lea ecx, [ebp - 0x11a6]
push ecx
lea ecx, [ebp - 0x3a]
call fcn.00449bd0
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], 0
jmp 0x445a91
mov edx, dword [ebp - 0x198]
add edx, 1
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0xf
jae 0x445ae8
mov eax, dword [ebp - 0x19c]
add eax, 1
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x630]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x3b], cl
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x634], edx
mov eax, dword [ebp - 0x634]
add eax, dword [ebp - 0x198]
mov cl, byte [ebp - 0x3b]
mov byte [eax], cl
jmp 0x445a82
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x638], edx
mov eax, 0xf
shl eax, 0
mov ecx, dword [ebp - 0x638]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x330], edx
lea eax, [ebp - 0xe80]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x63c]
call fcn.0041b910
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x1a0]
mov cl, byte [eax]
mov byte [ebp - 0x3c], cl
add dword [ebp - 0x1a0], 1
cmp byte [ebp - 0x3c], 0
jne 0x445b4a
mov edx, dword [ebp - 0x1a0]
sub edx, dword [ebp - 0x640]
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0x330]
push ecx
lea ecx, [ebp - 0xe80]
call fcn.0041a1e0
lea edx, [ebp - 0xe80]
push edx
mov ecx, dword [ebp - 0x648]
call fcn.004ee2f0
lea ecx, [ebp - 0xe80]
call fcn.00417140
lea eax, [ebp - 0x2e0]
push eax
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x65c], eax
xor ecx, ecx
mov byte [ebp - 0x3d], cl
lea edx, [ebp - 0x11fe]
push edx
lea ecx, [ebp - 0x3d]
call fcn.00449c60
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], 0
jmp 0x445bf7
mov eax, dword [ebp - 0x1a4]
add eax, 1
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0x10
jae 0x445c4e
mov ecx, dword [ebp - 0x1a8]
add ecx, 1
mov dword [ebp - 0x64c], ecx
mov edx, dword [ebp - 0x1a8]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x64c]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x3e], dl
mov eax, dword [ebp - 0x1a8]
add eax, 1
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x650]
add ecx, dword [ebp - 0x1a4]
mov dl, byte [ebp - 0x3e]
mov byte [ecx], dl
jmp 0x445be8
mov eax, dword [ebp - 0x1a8]
add eax, 1
mov dword [ebp - 0x654], eax
mov ecx, 0x10
shl ecx, 0
mov edx, dword [ebp - 0x654]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x1a8]
add eax, 1
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
push ecx
mov ecx, dword [ebp - 0x65c]
call fcn.004f48c0
mov dword [ebp - 0x660], eax
mov edx, dword [ebp - 0x660]
cmp byte [edx], 0
jne 0x445cad
mov dword [ebp - 0x334], 1
jmp 0x445cb7
mov dword [ebp - 0x334], 0
movzx eax, byte [ebp - 0x334]
test eax, eax
jne 0x445f45
lea ecx, [ebp - 0x2e0]
push ecx
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x674], eax
xor edx, edx
mov byte [ebp - 0x3f], dl
lea eax, [ebp - 0x11ec]
push eax
lea ecx, [ebp - 0x3f]
call fcn.00449cf0
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], 0
jmp 0x445d13
mov ecx, dword [ebp - 0x1ac]
add ecx, 1
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0x1ac], 0x10
jae 0x445d6a
mov edx, dword [ebp - 0x1b0]
add edx, 1
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x1b0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x664]
add edx, dword [ebp - 0x1ac]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x40], al
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x668], ecx
mov edx, dword [ebp - 0x668]
add edx, dword [ebp - 0x1ac]
mov al, byte [ebp - 0x40]
mov byte [edx], al
jmp 0x445d04
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x66c], ecx
mov edx, 0x10
shl edx, 0
mov eax, dword [ebp - 0x66c]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x670]
push edx
mov ecx, dword [ebp - 0x674]
call fcn.004f48c0
mov dword [ebp - 0x678], eax
mov eax, dword [0x58bb70]
mov dword [ebp - 0xdbc], eax
lea ecx, [ebp - 0x41]
push ecx
mov edx, dword [ebp - 0x678]
push edx
call fcn.005071e0
add esp, 8
movzx eax, byte [ebp - 0x41]
cmp eax, 1
jne 0x445ddf
mov ecx, dword [ebp + 0x38]
mov byte [ecx], 1
lea edx, [ebp - 0x2e0]
push edx
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
mov dword [ebp - 0x694], eax
xor eax, eax
mov byte [ebp - 0x42], al
lea ecx, [ebp - 0x11da]
push ecx
lea ecx, [ebp - 0x42]
call fcn.00449d80
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], 0
jmp 0x445e2c
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0x10
jae 0x445e83
mov eax, dword [ebp - 0x1b8]
add eax, 1
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x1b8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x67c]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x43], cl
mov edx, dword [ebp - 0x1b8]
add edx, 1
mov dword [ebp - 0x680], edx
mov eax, dword [ebp - 0x680]
add eax, dword [ebp - 0x1b4]
mov cl, byte [ebp - 0x43]
mov byte [eax], cl
jmp 0x445e1d
mov edx, dword [ebp - 0x1b8]
add edx, 1
mov dword [ebp - 0x684], edx
mov eax, 0x10
shl eax, 0
mov ecx, dword [ebp - 0x684]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x1b8]
add edx, 1
mov dword [ebp - 0x338], edx
lea eax, [ebp - 0xe98]
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x688]
call fcn.0041b910
mov ecx, dword [ebp - 0x338]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x1bc]
add edx, 1
mov dword [ebp - 0x68c], edx
mov eax, dword [ebp - 0x1bc]
mov cl, byte [eax]
mov byte [ebp - 0x44], cl
add dword [ebp - 0x1bc], 1
cmp byte [ebp - 0x44], 0
jne 0x445ee5
mov edx, dword [ebp - 0x1bc]
sub edx, dword [ebp - 0x68c]
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x690]
push eax
mov ecx, dword [ebp - 0x338]
push ecx
lea ecx, [ebp - 0xe98]
call fcn.0041a1e0
lea edx, [ebp - 0xe98]
push edx
mov ecx, dword [ebp - 0x694]
call fcn.004ee2f0
lea ecx, [ebp - 0xe98]
call fcn.00417140
xor eax, eax
mov byte [ebp - 0x45], al
lea ecx, [ebp - 0x10b4]
push ecx
lea ecx, [ebp - 0x45]
call fcn.00449e10
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 0
jmp 0x445f7a
mov edx, dword [ebp - 0x1c0]
add edx, 1
mov dword [ebp - 0x1c0], edx
cmp dword [ebp - 0x1c0], 0xa
jae 0x445fd1
mov eax, dword [ebp - 0x1c4]
add eax, 1
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x1c4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x698]
add eax, dword [ebp - 0x1c0]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x46], cl
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
add eax, dword [ebp - 0x1c0]
mov cl, byte [ebp - 0x46]
mov byte [eax], cl
jmp 0x445f6b
mov edx, dword [ebp - 0x1c4]
add edx, 1
mov dword [ebp - 0x6a0], edx
mov eax, 0xa
shl eax, 0
mov ecx, dword [ebp - 0x6a0]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x1c4]
add edx, 1
push edx
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x6b4], eax
xor eax, eax
mov byte [ebp - 0x47], al
lea ecx, [ebp - 0x102a]
push ecx
lea ecx, [ebp - 0x47]
call fcn.00449e80
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], 0
jmp 0x446042
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
cmp dword [ebp - 0x1c8], 8
jae 0x446099
mov eax, dword [ebp - 0x1cc]
add eax, 1
mov dword [ebp - 0x6a4], eax
mov ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x6a4]
add eax, dword [ebp - 0x1c8]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x48], cl
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6a8]
add eax, dword [ebp - 0x1c8]
mov cl, byte [ebp - 0x48]
mov byte [eax], cl
jmp 0x446033
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x6ac], edx
mov eax, 8
shl eax, 0
mov ecx, dword [ebp - 0x6ac]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x6b0], edx
mov eax, dword [ebp - 0x6b0]
push eax
mov ecx, dword [ebp - 0x6b4]
call fcn.004f48c0
mov dword [ebp - 0x6b8], eax
lea ecx, [ebp - 0x2e0]
push ecx
lea ecx, [ebp - 0x2c8]
call fcn.004ee340
push eax
lea ecx, [ebp - 0x400]
call fcn.004ee560
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x6b8]
call fcn.004ee340
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x33c]
mov dl, byte [ecx]
mov byte [ebp - 0x49], dl
mov eax, dword [ebp - 0x33c]
mov cl, byte [ebp - 0x400]
mov byte [eax], cl
mov dl, byte [ebp - 0x49]
mov byte [ebp - 0x400], dl
mov eax, dword [ebp - 0x2ac]
add eax, 8
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xa4c], edx
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x340]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xa4c]
mov edx, dword [ebp - 0xa48]
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0xdb8], eax
lea ecx, [ebp - 0x3f8]
mov dword [ebp - 0x6bc], ecx
movzx edx, byte [ebp - 0x400]
push edx
mov ecx, dword [ebp - 0x6bc]
call fcn.004f1720
xor eax, eax
mov byte [ebp - 0x4a], al
lea ecx, [ebp - 0x10c0]
push ecx
lea ecx, [ebp - 0x4a]
call fcn.00449ee0
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], 0
jmp 0x4461fa
mov edx, dword [ebp - 0x1d0]
add edx, 1
mov dword [ebp - 0x1d0], edx
cmp dword [ebp - 0x1d0], 0xa
jae 0x446251
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x1d4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x6c0]
add eax, dword [ebp - 0x1d0]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x4b], cl
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c4]
add eax, dword [ebp - 0x1d0]
mov cl, byte [ebp - 0x4b]
mov byte [eax], cl
jmp 0x4461eb
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x6c8], edx
mov eax, 0xa
shl eax, 0
mov ecx, dword [ebp - 0x6c8]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x1d4]
add edx, 1
push edx
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x6dc], eax
xor eax, eax
mov byte [ebp - 0x4c], al
lea ecx, [ebp - 0x1020]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00449f50
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], 0
jmp 0x4462c2
mov edx, dword [ebp - 0x1d8]
add edx, 1
mov dword [ebp - 0x1d8], edx
cmp dword [ebp - 0x1d8], 8
jae 0x446319
mov eax, dword [ebp - 0x1dc]
add eax, 1
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x1dc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x6cc]
add eax, dword [ebp - 0x1d8]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x4d], cl
mov edx, dword [ebp - 0x1dc]
add edx, 1
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
add eax, dword [ebp - 0x1d8]
mov cl, byte [ebp - 0x4d]
mov byte [eax], cl
jmp 0x4462b3
mov edx, dword [ebp - 0x1dc]
add edx, 1
mov dword [ebp - 0x6d4], edx
mov eax, 8
shl eax, 0
mov ecx, dword [ebp - 0x6d4]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x1dc]
add edx, 1
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6d8]
push eax
mov ecx, dword [ebp - 0x6dc]
call fcn.004f48c0
mov dword [ebp - 0x6e0], eax
lea ecx, [ebp - 0x2e0]
push ecx
mov ecx, dword [ebp - 0x6e0]
call fcn.004ee340
mov dword [ebp - 0x6f4], eax
xor edx, edx
mov byte [ebp - 0x4e], dl
lea eax, [ebp - 0x1185]
push eax
lea ecx, [ebp - 0x4e]
call fcn.00449fb0
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], 0
jmp 0x4463ae
mov ecx, dword [ebp - 0x1e0]
add ecx, 1
mov dword [ebp - 0x1e0], ecx
cmp dword [ebp - 0x1e0], 0xc
jae 0x446405
mov edx, dword [ebp - 0x1e4]
add edx, 1
mov dword [ebp - 0x6e4], edx
mov eax, dword [ebp - 0x1e4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x6e4]
add edx, dword [ebp - 0x1e0]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x4f], al
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6e8]
add edx, dword [ebp - 0x1e0]
mov al, byte [ebp - 0x4f]
mov byte [edx], al
jmp 0x44639f
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov edx, 0xc
shl edx, 0
mov eax, dword [ebp - 0x6ec]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x1e4]
add ecx, 1
mov dword [ebp - 0x6f0], ecx
call fcn.0042c630
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa50], edx
mov edx, dword [ebp - 0xa50]
push edx
mov eax, dword [ebp - 0xa54]
push eax
lea ecx, [ebp - 0xf68]
push ecx
call fcn.004f4680
add esp, 0xc
lea edx, [ebp - 0x410]
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x2b0]
mov byte [eax], 0
xor ecx, ecx
mov edx, dword [ebp - 0x2b0]
add edx, 8
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov eax, dword [0x58bb74]
mov dword [ebp - 0xdb4], eax
lea ecx, [ebp - 0xf68]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call fcn.00507250
add esp, 8
mov eax, dword [ebp - 0x6f0]
push eax
mov ecx, dword [ebp - 0x6f4]
call fcn.004f48c0
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x344]
mov al, byte [edx]
mov byte [ebp - 0x50], al
mov ecx, dword [ebp - 0x344]
mov dl, byte [ebp - 0x410]
mov byte [ecx], dl
mov al, byte [ebp - 0x50]
mov byte [ebp - 0x410], al
mov ecx, dword [ebp - 0x2b4]
add ecx, 8
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x348]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0x408]
mov eax, dword [ebp - 0x404]
mov ecx, dword [ebp - 0x348]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xa5c]
mov eax, dword [ebp - 0xa58]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0xdb0], ecx
lea edx, [ebp - 0x408]
mov dword [ebp - 0x6f8], edx
movzx eax, byte [ebp - 0x410]
push eax
mov ecx, dword [ebp - 0x6f8]
call fcn.004f1720
lea ecx, [ebp - 0xf68]
call fcn.00417140
xor ecx, ecx
mov byte [ebp - 0x51], cl
lea edx, [ebp - 0x10cc]
push edx
lea ecx, [ebp - 0x51]
call fcn.0044a0b0
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], 0
jmp 0x4465af
mov eax, dword [ebp - 0x1e8]
add eax, 1
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e8], 0xa
jae 0x446606
mov ecx, dword [ebp - 0x1ec]
add ecx, 1
mov dword [ebp - 0x6fc], ecx
mov edx, dword [ebp - 0x1ec]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x6fc]
add ecx, dword [ebp - 0x1e8]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x52], dl
mov eax, dword [ebp - 0x1ec]
add eax, 1
mov dword [ebp - 0x700], eax
mov ecx, dword [ebp - 0x700]
add ecx, dword [ebp - 0x1e8]
mov dl, byte [ebp - 0x52]
mov byte [ecx], dl
jmp 0x4465a0
mov eax, dword [ebp - 0x1ec]
add eax, 1
mov dword [ebp - 0x704], eax
mov ecx, 0xa
shl ecx, 0
mov edx, dword [ebp - 0x704]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x1ec]
add eax, 1
push eax
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x718], eax
xor ecx, ecx
mov byte [ebp - 0x53], cl
lea edx, [ebp - 0x1016]
push edx
lea ecx, [ebp - 0x53]
call fcn.0044a120
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], 0
jmp 0x446677
mov eax, dword [ebp - 0x1f0]
add eax, 1
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 8
jae 0x4466ce
mov ecx, dword [ebp - 0x1f4]
add ecx, 1
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x1f4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x1f0]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x54], dl
mov eax, dword [ebp - 0x1f4]
add eax, 1
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x70c]
add ecx, dword [ebp - 0x1f0]
mov dl, byte [ebp - 0x54]
mov byte [ecx], dl
jmp 0x446668
mov eax, dword [ebp - 0x1f4]
add eax, 1
mov dword [ebp - 0x710], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x710]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x1f4]
add eax, 1
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x714]
push ecx
mov ecx, dword [ebp - 0x718]
call fcn.004f48c0
mov dword [ebp - 0x71c], eax
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x71c]
call fcn.004ee340
mov dword [ebp - 0x730], eax
xor eax, eax
mov byte [ebp - 0x29d], al
mov byte [ebp - 0xa1], 0x23
mov byte [ebp - 0xa0], 0x53
mov byte [ebp - 0x9f], 0x42
mov byte [ebp - 0x9e], 0x57
mov byte [ebp - 0x9d], 0x4b
mov byte [ebp - 0x9c], 0
mov dword [ebp - 0x1f8], 0
jmp 0x44677b
mov ecx, dword [ebp - 0x1f8]
add ecx, 1
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 4
jae 0x4467ca
lea edx, [ebp - 0xa0]
mov dword [ebp - 0x720], edx
movsx eax, byte [ebp - 0xa1]
mov ecx, dword [ebp - 0x720]
add ecx, dword [ebp - 0x1f8]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x55], dl
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x724], eax
mov ecx, dword [ebp - 0x724]
add ecx, dword [ebp - 0x1f8]
mov dl, byte [ebp - 0x55]
mov byte [ecx], dl
jmp 0x44676c
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x728], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x728]
mov byte [edx + ecx], 0
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
push ecx
mov ecx, dword [ebp - 0x730]
call fcn.004f48c0
mov dword [ebp - 0x738], eax
lea edx, [ebp - 0xd80]
mov dword [ebp - 0x734], edx
mov ecx, dword [ebp - 0x734]
call fcn.0041b910
lea ecx, [ebp - 0xd80]
call fcn.00417560
lea eax, [ebp - 0xd80]
mov dword [ebp - 0xcc4], eax
mov ecx, dword [0x58bb70]
mov dword [ebp - 0xcc8], ecx
lea edx, [ebp - 0xd80]
push edx
mov eax, dword [ebp - 0x738]
push eax
call fcn.00507170
add esp, 8
lea ecx, [ebp - 0xd80]
mov dword [ebp - 0x748], ecx
xor edx, edx
mov byte [ebp - 0x56], dl
lea eax, [ebp - 0x1177]
push eax
lea ecx, [ebp - 0x56]
call fcn.0044a030
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], 0
jmp 0x44689d
mov ecx, dword [ebp - 0x1fc]
add ecx, 1
mov dword [ebp - 0x1fc], ecx
cmp dword [ebp - 0x1fc], 0xc
jae 0x4468f4
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0x200]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x73c]
add edx, dword [ebp - 0x1fc]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x57], al
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
add edx, dword [ebp - 0x1fc]
mov al, byte [ebp - 0x57]
mov byte [edx], al
jmp 0x44688e
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x744], ecx
mov edx, 0xc
shl edx, 0
mov eax, dword [ebp - 0x744]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x200]
add ecx, 1
push ecx
lea edx, [ebp - 0xc90]
push edx
lea eax, [ebp - 0x1108]
push eax
call fcn.004186f0
add esp, 0xc
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x748]
push ecx
mov edx, dword [ebp - 0x74c]
push edx
movzx eax, byte [ebp - 0x29e]
push eax
lea ecx, [ebp - 0xd98]
call fcn.0041b400
lea ecx, [ebp - 0x1108]
call fcn.00417140
lea ecx, [ebp - 0xd80]
call fcn.00417140
mov dword [ebp - 0x208], 0
xor ecx, ecx
mov byte [ebp - 0x29f], cl
mov byte [ebp - 0xd], 0x50
mov byte [ebp - 0xc], 0xc
mov byte [ebp - 0xb], 0x7f
mov byte [ebp - 0xa], 0
mov dword [ebp - 0x204], 0
jmp 0x4469af
mov edx, dword [ebp - 0x204]
add edx, 1
mov dword [ebp - 0x204], edx
cmp dword [ebp - 0x204], 2
jae 0x4469f5
lea eax, [ebp - 0xc]
mov dword [ebp - 0x750], eax
movsx ecx, byte [ebp - 0xd]
mov edx, dword [ebp - 0x750]
add edx, dword [ebp - 0x204]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x58], al
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x754]
add edx, dword [ebp - 0x204]
mov al, byte [ebp - 0x58]
mov byte [edx], al
jmp 0x4469a0
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x758], ecx
mov edx, 2
shl edx, 0
mov eax, dword [ebp - 0x758]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x208]
add ecx, 1
push ecx
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 0xd98]
call fcn.004ef2d0
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x2a0]
push eax
mov ecx, dword [ebp - 0x208]
push ecx
push 0
lea edx, [ebp - 0xd98]
push edx
lea ecx, [ebp - 0xf80]
call fcn.004f2c90
lea ecx, [ebp - 0xf80]
call fcn.00414d00
push eax
call fcn.0042c650
movzx eax, al
test eax, eax
jne 0x446a75
mov dword [ebp - 0x34c], 1
jmp 0x446a7f
mov dword [ebp - 0x34c], 0
mov cl, byte [ebp - 0x34c]
mov byte [ebp - 0x59], cl
lea ecx, [ebp - 0xf80]
call fcn.00417140
movzx edx, byte [ebp - 0x59]
test edx, edx
je 0x446ae7
mov eax, dword [0x590968]
mov dword [ebp - 0x75c], eax
lea ecx, [ebp - 0x2a1]
push ecx
mov edx, dword [ebp - 0x208]
push edx
push 0
lea eax, [ebp - 0xd98]
push eax
lea ecx, [ebp - 0xf98]
call fcn.004f2c90
push 0
lea ecx, [ebp - 0xf98]
call fcn.00414d00
push eax
call dword [ebp - 0x75c]
lea ecx, [ebp - 0xf98]
call fcn.00417140
cmp dword [ebp - 0x208], 0xffffffff
jne 0x44697c
sub esp, 0x18
mov ecx, esp
lea edx, [ebp - 0xd98]
push edx
call fcn.004150c0
sub esp, 0x18
mov ecx, esp
lea eax, [ebp + 8]
push eax
call fcn.004150c0
call fcn.00440980
add esp, 0x30
xor ecx, ecx
mov byte [ebp - 0x5a], cl
lea edx, [ebp - 0x10d8]
push edx
lea ecx, [ebp - 0x5a]
call fcn.0044a180
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], 0
jmp 0x446b50
mov eax, dword [ebp - 0x20c]
add eax, 1
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0xa
jae 0x446ba7
mov ecx, dword [ebp - 0x210]
add ecx, 1
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x210]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x20c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x5b], dl
mov eax, dword [ebp - 0x210]
add eax, 1
mov dword [ebp - 0x764], eax
mov ecx, dword [ebp - 0x764]
add ecx, dword [ebp - 0x20c]
mov dl, byte [ebp - 0x5b]
mov byte [ecx], dl
jmp 0x446b41
mov eax, dword [ebp - 0x210]
add eax, 1
mov dword [ebp - 0x768], eax
mov ecx, 0xa
shl ecx, 0
mov edx, dword [ebp - 0x768]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x210]
add eax, 1
push eax
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x77c], eax
xor ecx, ecx
mov byte [ebp - 0x5c], cl
lea edx, [ebp - 0x1048]
push edx
lea ecx, [ebp - 0x5c]
call fcn.0044a1f0
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], 0
jmp 0x446c18
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 8
jae 0x446c6f
mov ecx, dword [ebp - 0x218]
add ecx, 1
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x218]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x214]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x5d], dl
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x214]
mov dl, byte [ebp - 0x5d]
mov byte [ecx], dl
jmp 0x446c09
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x774], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x774]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x218]
add eax, 1
mov dword [ebp - 0x778], eax
mov ecx, dword [ebp - 0x778]
push ecx
mov ecx, dword [ebp - 0x77c]
call fcn.004f48c0
mov dword [ebp - 0x780], eax
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x780]
call fcn.004ee340
mov dword [ebp - 0x784], eax
push 0
push 0
push 0x20
push 0xffffffffffffffff
lea eax, [ebp - 0xef8]
push eax
mov ecx, dword [ebp - 0x784]
call fcn.004ee3d0
xor ecx, ecx
mov byte [ebp - 0x5e], cl
lea edx, [ebp - 0xf20]
push edx
lea ecx, [ebp - 0x5e]
call fcn.0044a250
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0
jmp 0x446d1e
mov eax, dword [ebp - 0x21c]
add eax, 1
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 6
jae 0x446d75
mov ecx, dword [ebp - 0x220]
add ecx, 1
mov dword [ebp - 0x788], ecx
mov edx, dword [ebp - 0x220]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x788]
add ecx, dword [ebp - 0x21c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x5f], dl
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x78c]
add ecx, dword [ebp - 0x21c]
mov dl, byte [ebp - 0x5f]
mov byte [ecx], dl
jmp 0x446d0f
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x790], eax
mov ecx, 6
shl ecx, 0
mov edx, dword [ebp - 0x790]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x220]
add eax, 1
mov dword [ebp - 0x350], eax
lea ecx, [ebp - 0xec8]
mov dword [ebp - 0x794], ecx
mov ecx, dword [ebp - 0x794]
call fcn.0041b910
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
add eax, 1
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x224]
mov dl, byte [ecx]
mov byte [ebp - 0x60], dl
add dword [ebp - 0x224], 1
cmp byte [ebp - 0x60], 0
jne 0x446dd7
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x798]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
push ecx
mov edx, dword [ebp - 0x350]
push edx
lea ecx, [ebp - 0xec8]
call fcn.0041a1e0
xor eax, eax
mov byte [ebp - 0x2a2], al
mov byte [ebp - 6], 0x55
mov byte [ebp - 5], 0x69
mov byte [ebp - 4], 0
mov dword [ebp - 0x228], 0
jmp 0x446e49
mov ecx, dword [ebp - 0x228]
add ecx, 1
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 1
jae 0x446e8f
lea edx, [ebp - 5]
mov dword [ebp - 0x7a0], edx
movsx eax, byte [ebp - 6]
mov ecx, dword [ebp - 0x7a0]
add ecx, dword [ebp - 0x228]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x61], dl
lea eax, [ebp - 5]
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
add ecx, dword [ebp - 0x228]
mov dl, byte [ebp - 0x61]
mov byte [ecx], dl
jmp 0x446e3a
lea eax, [ebp - 5]
mov dword [ebp - 0x7a8], eax
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x7a8]
mov byte [edx + ecx], 0
lea eax, [ebp - 5]
mov dword [ebp - 0x354], eax
lea ecx, [ebp - 0xeb0]
mov dword [ebp - 0x7ac], ecx
mov ecx, dword [ebp - 0x7ac]
call fcn.0041b910
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x22c]
mov dl, byte [ecx]
mov byte [ebp - 0x62], dl
add dword [ebp - 0x22c], 1
cmp byte [ebp - 0x62], 0
jne 0x446ee5
mov eax, dword [ebp - 0x22c]
sub eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
push ecx
mov edx, dword [ebp - 0x354]
push edx
lea ecx, [ebp - 0xeb0]
call fcn.0041a1e0
lea eax, [ebp - 0xec8]
push eax
lea ecx, [ebp - 0xeb0]
push ecx
lea edx, [ebp - 0xef8]
push edx
call fcn.0042c4a0
add esp, 0xc
mov byte [ebp - 0x63], al
lea ecx, [ebp - 0xeb0]
call fcn.00417140
lea ecx, [ebp - 0xec8]
call fcn.00417140
movzx eax, byte [ebp - 0x63]
test eax, eax
je 0x446f6b
jmp 0x446ce9
xor ecx, ecx
mov byte [ebp - 0x6b], cl
xor edx, edx
mov byte [ebp - 0x64], dl
lea eax, [ebp - 0x115c]
push eax
lea ecx, [ebp - 0x64]
call fcn.0044a2a0
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], 0
jmp 0x446fa5
mov ecx, dword [ebp - 0x230]
add ecx, 1
mov dword [ebp - 0x230], ecx
cmp dword [ebp - 0x230], 0xa
jae 0x446ffc
mov edx, dword [ebp - 0x234]
add edx, 1
mov dword [ebp - 0x7b8], edx
mov eax, dword [ebp - 0x234]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x7b8]
add edx, dword [ebp - 0x230]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x65], al
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7bc]
add edx, dword [ebp - 0x230]
mov al, byte [ebp - 0x65]
mov byte [edx], al
jmp 0x446f96
mov ecx, dword [ebp - 0x234]
add ecx, 1
mov dword [ebp - 0x7c0], ecx
mov edx, 0xa
shl edx, 0
mov eax, dword [ebp - 0x7c0]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x234]
add ecx, 1
push ecx
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x7d4], eax
xor edx, edx
mov byte [ebp - 0x2a3], dl
mov byte [ebp - 0x9b], 0x62
mov byte [ebp - 0x9a], 0xf
mov byte [ebp - 0x99], 3
mov byte [ebp - 0x98], 1
mov byte [ebp - 0x97], 0x11
mov byte [ebp - 0x96], 0
mov dword [ebp - 0x238], 0
jmp 0x447085
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 4
jae 0x4470d4
lea ecx, [ebp - 0x9a]
mov dword [ebp - 0x7c4], ecx
movsx edx, byte [ebp - 0x9b]
mov eax, dword [ebp - 0x7c4]
add eax, dword [ebp - 0x238]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x66], cl
lea edx, [ebp - 0x9a]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c8]
add eax, dword [ebp - 0x238]
mov cl, byte [ebp - 0x66]
mov byte [eax], cl
jmp 0x447076
lea edx, [ebp - 0x9a]
mov dword [ebp - 0x7cc], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x7cc]
mov byte [ecx + eax], 0
lea edx, [ebp - 0x9a]
mov dword [ebp - 0x7d0], edx
mov eax, dword [ebp - 0x7d0]
push eax
mov ecx, dword [ebp - 0x7d4]
call fcn.004f48c0
mov dword [ebp - 0x7e8], eax
xor ecx, ecx
mov byte [ebp - 0x67], cl
lea edx, [ebp - 0x105f]
push edx
lea ecx, [ebp - 0x67]
call fcn.0044a310
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], 0
jmp 0x44714b
mov eax, dword [ebp - 0x23c]
add eax, 1
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0xa
jae 0x4471a2
mov ecx, dword [ebp - 0x240]
add ecx, 1
mov dword [ebp - 0x7d8], ecx
mov edx, dword [ebp - 0x240]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x23c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x68], dl
mov eax, dword [ebp - 0x240]
add eax, 1
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x7dc]
add ecx, dword [ebp - 0x23c]
mov dl, byte [ebp - 0x68]
mov byte [ecx], dl
jmp 0x44713c
mov eax, dword [ebp - 0x240]
add eax, 1
mov dword [ebp - 0x7e0], eax
mov ecx, 0xa
shl ecx, 0
mov edx, dword [ebp - 0x7e0]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x240]
add eax, 1
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7e4]
push ecx
mov ecx, dword [ebp - 0x7e8]
call fcn.004f48c0
mov dword [ebp - 0x7fc], eax
xor edx, edx
mov byte [ebp - 0x69], dl
lea eax, [ebp - 0x103e]
push eax
lea ecx, [ebp - 0x69]
call fcn.0044a380
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], 0
jmp 0x44721f
mov ecx, dword [ebp - 0x244]
add ecx, 1
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 8
jae 0x447276
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x248]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x7ec]
add edx, dword [ebp - 0x244]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x6a], al
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x7f0]
add edx, dword [ebp - 0x244]
mov al, byte [ebp - 0x6a]
mov byte [edx], al
jmp 0x447210
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x7f4], ecx
mov edx, 8
shl edx, 0
mov eax, dword [ebp - 0x7f4]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x7f8]
push edx
mov ecx, dword [ebp - 0x7fc]
call fcn.004f48c0
mov dword [ebp - 0x80c], eax
lea eax, [ebp - 0x1273]
push eax
lea ecx, [ebp - 0x6b]
call fcn.0044a3e0
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], 0
jmp 0x4472ee
mov ecx, dword [ebp - 0x24c]
add ecx, 1
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 0x14
jae 0x447345
mov edx, dword [ebp - 0x250]
add edx, 1
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x250]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x800]
add edx, dword [ebp - 0x24c]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x6c], al
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x804]
add edx, dword [ebp - 0x24c]
mov al, byte [ebp - 0x6c]
mov byte [edx], al
jmp 0x4472df
mov ecx, dword [ebp - 0x250]
add ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, 0x14
shl edx, 0
mov eax, dword [ebp - 0x808]
mov byte [eax + edx], 0
sub esp, 0x10
mov esi, esp
sub esp, 0x18
mov ecx, esp
lea edx, [ebp - 0xef8]
push edx
call fcn.004150c0
sub esp, 0x18
mov eax, esp
lea ecx, [ebp - 0x2e0]
push ecx
mov edx, dword [ebp - 0x250]
add edx, 1
push edx
push eax
call fcn.004187e0
mov ecx, esp
lea eax, [ebp - 0x3f0]
push eax
call fcn.004ee9d0
lea ecx, [ebp - 0x1120]
push ecx
call fcn.00442740
add esp, 0x40
push eax
mov ecx, esi
call fcn.004f49b0
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x80c]
call fcn.004ee340
mov ecx, eax
call fcn.004ee4e0
lea ecx, [ebp - 0x1120]
call fcn.00417140
xor eax, eax
mov byte [ebp - 0x6d], al
lea ecx, [ebp - 0x106b]
push ecx
lea ecx, [ebp - 0x6d]
call fcn.0044a560
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], 0
jmp 0x447416
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x254], 0xa
jae 0x44746d
mov eax, dword [ebp - 0x258]
add eax, 1
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x258]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x810]
add eax, dword [ebp - 0x254]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x6e], cl
mov edx, dword [ebp - 0x258]
add edx, 1
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x814]
add eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x6e]
mov byte [eax], cl
jmp 0x447407
mov edx, dword [ebp - 0x258]
add edx, 1
mov dword [ebp - 0x818], edx
mov eax, 0xa
shl eax, 0
mov ecx, dword [ebp - 0x818]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x258]
add edx, 1
push edx
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x82c], eax
xor eax, eax
mov byte [ebp - 0x6f], al
lea ecx, [ebp - 0xdee]
push ecx
lea ecx, [ebp - 0x6f]
call fcn.0044a5d0
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], 0
jmp 0x4474de
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 4
jae 0x447535
mov eax, dword [ebp - 0x260]
add eax, 1
mov dword [ebp - 0x81c], eax
mov ecx, dword [ebp - 0x260]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x25c]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x70], cl
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
add eax, dword [ebp - 0x25c]
mov cl, byte [ebp - 0x70]
mov byte [eax], cl
jmp 0x4474cf
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x824], edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x824]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x828]
push eax
mov ecx, dword [ebp - 0x82c]
call fcn.004f48c0
mov dword [ebp - 0x848], eax
xor ecx, ecx
mov byte [ebp - 0x71], cl
lea edx, [ebp - 0x1077]
push edx
lea ecx, [ebp - 0x71]
call fcn.0044a490
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], 0
jmp 0x4475b2
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0xa
jae 0x447609
mov ecx, dword [ebp - 0x268]
add ecx, 1
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x268]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x830]
add ecx, dword [ebp - 0x264]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x72], dl
mov eax, dword [ebp - 0x268]
add eax, 1
mov dword [ebp - 0x834], eax
mov ecx, dword [ebp - 0x834]
add ecx, dword [ebp - 0x264]
mov dl, byte [ebp - 0x72]
mov byte [ecx], dl
jmp 0x4475a3
mov eax, dword [ebp - 0x268]
add eax, 1
mov dword [ebp - 0x838], eax
mov ecx, 0xa
shl ecx, 0
mov edx, dword [ebp - 0x838]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x268]
add eax, 1
push eax
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x850], eax
xor ecx, ecx
mov byte [ebp - 0x85], cl
lea edx, [ebp - 0x1053]
push edx
lea ecx, [ebp - 0x85]
call fcn.0044a500
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], 0
jmp 0x447680
mov eax, dword [ebp - 0x26c]
add eax, 1
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 9
jae 0x4476d7
mov ecx, dword [ebp - 0x270]
add ecx, 1
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x270]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x26c]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x74], dl
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
add ecx, dword [ebp - 0x26c]
mov dl, byte [ebp - 0x74]
mov byte [ecx], dl
jmp 0x447671
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x844], eax
mov ecx, 9
shl ecx, 0
mov edx, dword [ebp - 0x844]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x84c], eax
sub esp, 0x10
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0
push 0
push 0x20
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 0x848]
call fcn.004ee3d0
sub esp, 0x18
mov ecx, esp
push 0x579598
call fcn.00414fd0
sub esp, 0xc
mov ecx, esp
lea edx, [ebp - 0x3f0]
push edx
call fcn.004ee9d0
lea eax, [ebp - 0x1138]
push eax
call fcn.00442740
add esp, 0x40
push eax
mov ecx, esi
call fcn.004f49b0
mov ecx, dword [ebp - 0x84c]
push ecx
mov ecx, dword [ebp - 0x850]
call fcn.004f48c0
mov ecx, eax
call fcn.004ee4e0
lea ecx, [ebp - 0x1138]
call fcn.00417140
mov edx, 1
test edx, edx
je 0x447d8f
xor eax, eax
mov byte [ebp - 0x75], al
lea ecx, [ebp - 0x1083]
push ecx
lea ecx, [ebp - 0x75]
call fcn.0044a610
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], 0
jmp 0x4477c2
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0xa
jae 0x447819
mov eax, dword [ebp - 0x278]
add eax, 1
mov dword [ebp - 0x854], eax
mov ecx, dword [ebp - 0x278]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x854]
add eax, dword [ebp - 0x274]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x76], cl
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
add eax, dword [ebp - 0x274]
mov cl, byte [ebp - 0x76]
mov byte [eax], cl
jmp 0x4477b3
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x85c], edx
mov eax, 0xa
shl eax, 0
mov ecx, dword [ebp - 0x85c]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0x278]
add edx, 1
push edx
call fcn.0042cd30
add esp, 4
mov dword [ebp - 0x360], eax
mov esi, dword [ebp - 0x360]
xor edi, edi
mov eax, dword [0x58bb48]
cdq
mov ebx, eax
mov eax, edx
add ebx, 8
adc eax, 0
mov dword [ebp - 0x864], eax
mov eax, dword [0x58bb4c]
cdq
add eax, 0x7204
adc edx, 0
push 0
push 0x7204
push edx
push eax
call fcn.00567560
mov ecx, eax
mov eax, edx
mov dword [ebp - 0x860], eax
mov eax, dword [0x58bb4c]
cdq
add eax, 8
adc edx, 0
push edx
push eax
mov eax, dword [ebp - 0x860]
push eax
push ecx
call fcn.00567560
add ebx, eax
mov eax, dword [ebp - 0x864]
adc eax, edx
add ebx, 0x7204
adc eax, 0
push eax
push ebx
call fcn.0041fb00
add esp, 8
mov dword [ebp - 0xa64], esi
mov dword [ebp - 0xa60], edi
mov dword [ebp - 0xa6c], eax
mov dword [ebp - 0xa68], edx
mov edx, dword [ebp - 0xa60]
cmp edx, dword [ebp - 0xa68]
jb 0x447d88
ja 0x44790c
mov eax, dword [ebp - 0xa64]
cmp eax, dword [ebp - 0xa6c]
jbe 0x447d88
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx]
mov eax, dword [0x591f6c]
cmp eax, dword [edx + 4]
jle 0x44795c
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x44795c
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x358], 0x591f70
mov ecx, dword [ebp - 0x358]
mov edx, dword [ebp - 0x358]
mov eax, dword [ecx + 4]
sub eax, dword [edx]
sar eax, 3
cmp eax, 0x64
jae 0x4479db
mov byte [ebp - 0x77], 1
mov dword [ebp - 0x35c], 0x591f70
mov ecx, dword [ebp - 0x35c]
mov edx, dword [ebp - 0x35c]
mov eax, dword [ecx + 4]
sub eax, dword [edx]
sar eax, 3
xor eax, 0x36
mov dword [ebp - 0x868], eax
lea ecx, [ebp - 0x77]
push ecx
lea edx, [ebp - 0x868]
push edx
movzx eax, byte [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0xd08]
call fcn.004fb670
lea ecx, [ebp - 0xd08]
push ecx
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x4479e5
mov ecx, 0x591f70
call fcn.004ee980
mov edx, dword [0x590950]
mov dword [ebp - 0x86c], edx
xor eax, eax
mov dword [ebp - 0xa74], 0x3bb51
mov dword [ebp - 0xa70], eax
mov ecx, dword [ebp - 0xa74]
mov edx, dword [ebp - 0xa70]
xor ecx, 0x1c
xor edx, 0
mov dword [ebp - 0xa8c], ecx
mov dword [ebp - 0xa88], edx
xor eax, eax
mov dword [ebp - 0xa7c], 0x1c
mov dword [ebp - 0xa78], eax
mov ecx, dword [0x58bb40]
xor ecx, 0x7204
mov edx, dword [0x58bb44]
xor edx, 0
push 0
push 6
push edx
push ecx
call fcn.00567560
mov dword [ebp - 0xa84], eax
mov dword [ebp - 0xa80], edx
xor eax, eax
mov dword [ebp - 0xa94], 0x10cc0
mov dword [ebp - 0xa90], eax
mov ecx, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xa78]
mov eax, dword [ebp - 0xa80]
add ecx, dword [ebp - 0xa84]
adc edx, eax
add ecx, 1
adc edx, 0
mov dword [ebp - 0xaa4], ecx
mov dword [ebp - 0xaa0], edx
mov ecx, dword [ebp - 0xa8c]
mov edx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xa90]
sub ecx, dword [ebp - 0xa94]
sbb edx, eax
mov dword [ebp - 0xa9c], ecx
mov dword [ebp - 0xa98], edx
mov ecx, dword [ebp - 0xa9c]
mov edx, dword [ebp - 0xa98]
mov eax, dword [ebp - 0xaa4]
mov esi, dword [ebp - 0xaa0]
push esi
push eax
push edx
push ecx
call fcn.00567440
mov dword [ebp - 0xaac], eax
mov dword [ebp - 0xaa8], edx
mov ecx, dword [ebp - 0x360]
push ecx
push 0
mov edx, dword [ebp - 0xaac]
mov eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xccc], eax
push edx
call dword [ebp - 0x86c]
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0
je 0x447d86
push 0x57b604
lea ecx, [ebp - 0xc60]
call fcn.00414fd0
mov ecx, dword [ebp - 0xc50]
mov dword [ebp - 0x870], ecx
cmp dword [ebp - 0x870], 0xf
jae 0x447b88
cmp dword [ebp - 0xc50], 0
jne 0x447b5f
mov dword [ebp - 0x364], 1
jmp 0x447b69
mov dword [ebp - 0x364], 0
movzx edx, byte [ebp - 0x364]
test edx, edx
jne 0x447b88
lea eax, [ebp - 0xc60]
push eax
lea ecx, [ebp - 0xc60]
call fcn.00414e70
jmp 0x447b95
push 0
lea ecx, [ebp - 0xc60]
call fcn.0041bb40
cmp dword [ebp - 0xc50], 0
jne 0x447baa
mov dword [ebp - 0x368], 1
jmp 0x447bb4
mov dword [ebp - 0x368], 0
movzx ecx, byte [ebp - 0x368]
test ecx, ecx
je 0x447c26
push 8
lea ecx, [ebp - 0xc60]
call fcn.004ef4d0
mov dword [ebp - 0x27c], str.j3l6lrek
mov edx, dword [ebp - 0x27c]
add edx, 1
mov dword [ebp - 0x874], edx
mov eax, dword [ebp - 0x27c]
mov cl, byte [eax]
mov byte [ebp - 0x78], cl
add dword [ebp - 0x27c], 1
cmp byte [ebp - 0x78], 0
jne 0x447be5
mov edx, dword [ebp - 0x27c]
sub edx, dword [ebp - 0x874]
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x878]
push eax
push str.j3l6lrek
lea ecx, [ebp - 0xc60]
call fcn.004172e0
lea ecx, [ebp - 0xc60]
call fcn.00417140
mov ecx, dword [0x5909d0]
mov dword [ebp - 0x87c], ecx
push 0
mov edx, dword [ebp - 0x36c]
push edx
call dword [ebp - 0x87c]
test eax, eax
je 0x447d86
mov eax, dword [ebp + 0x38]
movzx ecx, byte [eax]
test ecx, ecx
jne 0x447c64
mov edx, dword [ebp + 0x38]
mov byte [edx], 1
mov eax, dword [0x5909e0]
mov dword [ebp - 0x880], eax
xor ecx, ecx
mov dword [ebp - 0xab4], 0x872456
mov dword [ebp - 0xab0], ecx
mov edx, dword [ebp - 0xab4]
mov eax, dword [ebp - 0xab0]
xor edx, 0x1c
xor eax, 0
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xac8], eax
xor ecx, ecx
mov dword [ebp - 0xabc], 0x1c
mov dword [ebp - 0xab8], ecx
mov edx, dword [0x58bb40]
xor edx, 0x7204
mov eax, dword [0x58bb44]
xor eax, 0
push 0
push 6
push eax
push edx
call fcn.00567560
mov dword [ebp - 0xac4], eax
mov dword [ebp - 0xac0], edx
xor ecx, ecx
mov dword [ebp - 0xad4], 0x10cc0
mov dword [ebp - 0xad0], ecx
mov edx, dword [ebp - 0xabc]
mov eax, dword [ebp - 0xab8]
mov ecx, dword [ebp - 0xac0]
add edx, dword [ebp - 0xac4]
adc eax, ecx
add edx, 1
adc eax, 0
mov dword [ebp - 0xae4], edx
mov dword [ebp - 0xae0], eax
mov edx, dword [ebp - 0xacc]
mov eax, dword [ebp - 0xac8]
mov ecx, dword [ebp - 0xad0]
sub edx, dword [ebp - 0xad4]
sbb eax, ecx
mov dword [ebp - 0xadc], edx
mov dword [ebp - 0xad8], eax
mov edx, dword [ebp - 0xadc]
mov eax, dword [ebp - 0xad8]
mov ecx, dword [ebp - 0xae4]
mov esi, dword [ebp - 0xae0]
push esi
push ecx
push eax
push edx
call fcn.00567440
mov dword [ebp - 0xaec], eax
mov dword [ebp - 0xae8], edx
mov edx, dword [ebp - 0xaec]
mov eax, dword [ebp - 0xae8]
mov dword [ebp - 0xcd0], eax
push edx
call dword [ebp - 0x880]
jmp 0x447d8a
jmp 0x447d8f
jmp 0x447780
xor ecx, ecx
mov byte [ebp - 0x79], cl
lea edx, [ebp - 0x108f]
push edx
lea ecx, [ebp - 0x79]
call fcn.0044a850
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], 0
jmp 0x447dc4
mov eax, dword [ebp - 0x280]
add eax, 1
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xa
jae 0x447e1b
mov ecx, dword [ebp - 0x284]
add ecx, 1
mov dword [ebp - 0x884], ecx
mov edx, dword [ebp - 0x284]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x884]
add ecx, dword [ebp - 0x280]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x7a], dl
mov eax, dword [ebp - 0x284]
add eax, 1
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x888]
add ecx, dword [ebp - 0x280]
mov dl, byte [ebp - 0x7a]
mov byte [ecx], dl
jmp 0x447db5
mov eax, dword [ebp - 0x284]
add eax, 1
mov dword [ebp - 0x88c], eax
mov ecx, 0xa
shl ecx, 0
mov edx, dword [ebp - 0x88c]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0x284]
add eax, 1
push eax
lea ecx, [ebp - 0x298]
call fcn.004f48c0
mov dword [ebp - 0x8a0], eax
xor ecx, ecx
mov byte [ebp - 0x7b], cl
lea edx, [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x7b]
call fcn.0044a8c0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x288], 0
jmp 0x447e8c
mov eax, dword [ebp - 0x288]
add eax, 1
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 8
jae 0x447ee3
mov ecx, dword [ebp - 0xa8]
add ecx, 1
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0xa8]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x890]
add ecx, dword [ebp - 0x288]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x7c], dl
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x894]
add ecx, dword [ebp - 0x288]
mov dl, byte [ebp - 0x7c]
mov byte [ecx], dl
jmp 0x447e7d
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0x898], eax
mov ecx, 8
shl ecx, 0
mov edx, dword [ebp - 0x898]
mov byte [edx + ecx], 0
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x89c]
push ecx
mov ecx, dword [ebp - 0x8a0]
call fcn.004f48c0
mov dword [ebp - 0x8a4], eax
lea edx, [ebp - 0x2e0]
push edx
mov ecx, dword [ebp - 0x8a4]
call fcn.004ee340
mov dword [ebp - 0x8c0], eax
xor eax, eax
mov byte [ebp - 0x7d], al
xor ecx, ecx
mov byte [ebp - 0x7f], cl
lea edx, [ebp - 0x1289]
push edx
lea ecx, [ebp - 0x7d]
call fcn.0044a7a0
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xac], 0
jmp 0x447f7d
mov eax, dword [ebp - 0xac]
add eax, 1
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x14
jae 0x447fd4
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0xb4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x8a8]
add ecx, dword [ebp - 0xac]
movsx edx, byte [ecx]
xor edx, eax
mov byte [ebp - 0x7e], dl
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
add ecx, dword [ebp - 0xac]
mov dl, byte [ebp - 0x7e]
mov byte [ecx], dl
jmp 0x447f6e
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0x8b0], eax
mov ecx, 0x14
shl ecx, 0
mov edx, dword [ebp - 0x8b0]
mov byte [edx + ecx], 0
lea eax, [ebp - 0x13a5]
push eax
lea ecx, [ebp - 0x7f]
call fcn.0044a680
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb0], 0
jmp 0x448025
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0x25
jae 0x44807c
mov edx, dword [ebp - 0xb8]
add edx, 1
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x8b4]
add edx, dword [ebp - 0xb0]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x80], al
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x8b8]
add edx, dword [ebp - 0xb0]
mov al, byte [ebp - 0x80]
mov byte [edx], al
jmp 0x448016
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0x8bc], ecx
mov edx, 0x25
shl edx, 0
mov eax, dword [ebp - 0x8bc]
mov byte [eax + edx], 0
sub esp, 0x18
mov ecx, esp
push 0
push 0
push 0x20
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 0x8c0]
call fcn.004ee3d0
sub esp, 0x18
mov edx, esp
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [ebp - 0xb4]
add ecx, 1
push ecx
push edx
call fcn.004187e0
mov esi, esp
sub esp, 0x18
mov ecx, esp
mov edx, dword [ebp - 0xb8]
add edx, 1
push edx
call fcn.00414fd0
push esi
call fcn.004427b0
add esp, 0x1c
lea eax, [ebp - 0xee0]
push eax
call fcn.00442740
add esp, 0x40
mov ecx, dword [0x5909e4]
mov dword [ebp - 0x900], ecx
mov edx, 5
mov dword [ebp - 0xaf4], 0x5d2b2412
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0xaf4]
mov ecx, dword [ebp - 0xaf0]
xor eax, 0x1c
xor ecx, 0
mov dword [ebp - 0xb0c], eax
mov dword [ebp - 0xb08], ecx
xor edx, edx
mov dword [ebp - 0xafc], 0x1c
mov dword [ebp - 0xaf8], edx
mov eax, dword [0x58bb40]
xor eax, 0x7204
mov ecx, dword [0x58bb44]
xor ecx, 0
push 0
push 6
push ecx
push eax
call fcn.00567560
mov dword [ebp - 0xb04], eax
mov dword [ebp - 0xb00], edx
xor edx, edx
mov dword [ebp - 0xb14], 0x10cc0
mov dword [ebp - 0xb10], edx
mov eax, dword [ebp - 0xafc]
mov ecx, dword [ebp - 0xaf8]
mov edx, dword [ebp - 0xb00]
add eax, dword [ebp - 0xb04]
adc ecx, edx
add eax, 1
adc ecx, 0
mov dword [ebp - 0xb24], eax
mov dword [ebp - 0xb20], ecx
mov eax, dword [ebp - 0xb0c]
mov ecx, dword [ebp - 0xb08]
mov edx, dword [ebp - 0xb10]
sub eax, dword [ebp - 0xb14]
sbb ecx, edx
mov dword [ebp - 0xb1c], eax
mov dword [ebp - 0xb18], ecx
mov eax, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb18]
mov edx, dword [ebp - 0xb24]
mov esi, dword [ebp - 0xb20]
push esi
push edx
push ecx
push eax
call fcn.00567440
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb28], edx
mov eax, dword [ebp - 0xb2c]
mov ecx, dword [ebp - 0xb28]
mov dword [ebp - 0xcd4], ecx
mov dword [ebp - 0x8f4], eax
xor edx, edx
mov dword [ebp - 0xb34], 0x3bb51
mov dword [ebp - 0xb30], edx
mov eax, dword [ebp - 0xb34]
mov ecx, dword [ebp - 0xb30]
xor eax, 0x1c
xor ecx, 0
mov dword [ebp - 0xb4c], eax
mov dword [ebp - 0xb48], ecx
xor edx, edx
mov dword [ebp - 0xb3c], 0x1c
mov dword [ebp - 0xb38], edx
mov eax, dword [0x58bb40]
xor eax, 0x7204
mov ecx, dword [0x58bb44]
xor ecx, 0
push 0
push 6
push ecx
push eax
call fcn.00567560
mov dword [ebp - 0xb44], eax
mov dword [ebp - 0xb40], edx
xor edx, edx
mov dword [ebp - 0xb54], 0x10cc0
mov dword [ebp - 0xb50], edx
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb38]
mov edx, dword [ebp - 0xb40]
add eax, dword [ebp - 0xb44]
adc ecx, edx
add eax, 1
adc ecx, 0
mov dword [ebp - 0xb64], eax
mov dword [ebp - 0xb60], ecx
mov eax, dword [ebp - 0xb4c]
mov ecx, dword [ebp - 0xb48]
mov edx, dword [ebp - 0xb50]
sub eax, dword [ebp - 0xb54]
sbb ecx, edx
mov dword [ebp - 0xb5c], eax
mov dword [ebp - 0xb58], ecx
mov eax, dword [ebp - 0xb5c]
mov ecx, dword [ebp - 0xb58]
mov edx, dword [ebp - 0xb64]
mov esi, dword [ebp - 0xb60]
push esi
push edx
push ecx
push eax
call fcn.00567440
mov dword [ebp - 0xb6c], eax
mov dword [ebp - 0xb68], edx
mov eax, dword [ebp - 0xb6c]
mov ecx, dword [ebp - 0xb68]
mov dword [ebp - 0xcd8], ecx
mov dword [ebp - 0x8f8], eax
xor edx, edx
mov byte [ebp - 0x81], dl
lea eax, [ebp - 0x129f]
push eax
lea ecx, [ebp - 0x81]
call fcn.0044aa50
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], 0
jmp 0x448374
mov ecx, dword [ebp - 0xbc]
add ecx, 1
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0xbc], 0x14
jae 0x4483d1
mov edx, dword [ebp - 0xc0]
add edx, 1
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x8c4]
add edx, dword [ebp - 0xbc]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x82], al
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x8c8]
add edx, dword [ebp - 0xbc]
mov al, byte [ebp - 0x82]
mov byte [edx], al
jmp 0x448365
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0x8cc], ecx
mov edx, 0x14
shl edx, 0
mov eax, dword [ebp - 0x8cc]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0x370], ecx
lea edx, [ebp - 0x3d8]
mov dword [ebp - 0x8d0], edx
imul eax, dword [ebp - 0xc4], 0x18
mov ecx, dword [ebp - 0x8d0]
add eax, dword [ecx]
mov dword [ebp - 0x8e0], eax
xor edx, edx
mov byte [ebp - 0x83], dl
lea eax, [ebp - 0x13cd]
push eax
lea ecx, [ebp - 0x83]
call fcn.0044a920
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], 0
jmp 0x44845d
mov ecx, dword [ebp - 0xc8]
add ecx, 1
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0x26
jae 0x4484ba
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0x8d4], edx
mov eax, dword [ebp - 0xcc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x8d4]
add edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
xor eax, ecx
mov byte [ebp - 0x84], al
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x8d8], ecx
mov edx, dword [ebp - 0x8d8]
add edx, dword [ebp - 0xc8]
mov al, byte [ebp - 0x84]
mov byte [edx], al
jmp 0x44844e
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x8dc], ecx
mov edx, 0x26
shl edx, 0
mov eax, dword [ebp - 0x8dc]
mov byte [eax + edx], 0
mov ecx, dword [ebp - 0xcc]
add ecx, 1
mov dword [ebp - 0x8e4], ecx
mov edx, dword [ebp - 0x8e0]
push edx
mov eax, dword [ebp - 0x8e4]
push eax
lea ecx, [ebp - 0x10a8]
push ecx
call fcn.004187e0
add esp, 0xc
mov dword [ebp - 0x8f0], eax
mov edx, dword [ebp - 0x370]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0x8e8], eax
mov ecx, dword [ebp - 0xd0]
mov dl, byte [ecx]
mov byte [ebp - 0x95], dl
add dword [ebp - 0xd0], 1
cmp byte [ebp - 0x95], 0
jne 0x448528
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0x8ec]
push ecx
mov edx, dword [ebp - 0x370]
push edx
mov ecx, dword [ebp - 0x8f0]
call fcn.00417380
push eax
lea ecx, [ebp - 0xfb0]
call fcn.00414f60
lea ecx, [ebp - 0xfb0]
call fcn.00414d00
mov dword [ebp - 0x8fc], eax
lea eax, [ebp - 0x394]
push eax
mov ecx, dword [ebp - 0x8f4]
push ecx
mov edx, dword [ebp - 0x8f8]
push edx
mov eax, dword [ebp - 0x8fc]
push eax
push SysReAllocString
call dword [ebp - 0x900]
test eax, eax
jne 0x4485c5
mov dword [ebp - 0x374], 1
jmp 0x4485cf
mov dword [ebp - 0x374], 0
mov cl, byte [ebp - 0x374]
mov byte [ebp - 0x86], cl
lea ecx, [ebp - 0xfb0]
call fcn.00417140
lea ecx, [ebp - 0x10a8]
call fcn.00417140
movzx edx, byte [ebp - 0x86]
test edx, edx
je 0x448ce2
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov edx, dword [0x591f6c]
cmp edx, dword [ecx + 4]
jle 0x448650
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x448650
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x378], 0x591f70
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x378]
mov edx, dword [eax + 4]
sub edx, dword [ecx]
sar edx, 3
cmp edx, 0x64
jae 0x4486d5
mov byte [ebp - 0x87], 1
mov dword [ebp - 0x37c], 0x591f70
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x37c]
mov edx, dword [eax + 4]
sub edx, dword [ecx]
sar edx, 3
xor edx, 0x36
mov dword [ebp - 0x904], edx
lea eax, [ebp - 0x87]
push eax
lea ecx, [ebp - 0x904]
push ecx
movzx edx, byte [ebp - 0x2a5]
push edx
lea ecx, [ebp - 0xd10]
call fcn.004fb670
lea eax, [ebp - 0xd10]
push eax
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x4486df
mov ecx, 0x591f70
call fcn.004ee980
push 0x57b604
lea ecx, [ebp - 0xc18]
call fcn.00414fd0
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0x908], ecx
cmp dword [ebp - 0x908], 0xf
jae 0x448742
push 0x57b604
lea ecx, [ebp - 0xc30]
call fcn.00414fd0
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0x944], ecx
cmp dword [ebp - 0x944], 0xf
jae 0x448d45
cmp dword [ebp - 0xc20], 0
jne 0x448d1c
mov dword [ebp - 0x3a8], 1
jmp 0x448d26
mov dword [ebp - 0x3a8], 0
movzx edx, byte [ebp - 0x3a8]
test edx, edx
jne 0x448d45
push 0
lea ecx, [ebp - 0xc30]
call fcn.0041bb40
cmp dword [ebp - 0xc20], 0
jne 0x448d67
mov dword [ebp - 0x3ac], 1
jmp 0x448d71
mov dword [ebp - 0x3ac], 0
movzx ecx, byte [ebp - 0x3ac]
test ecx, ecx
je 0x448de9
mov edx, dword fs:[0x2c]
mov eax, dword [edx]
mov ecx, dword [0x591f6c]
cmp ecx, dword [eax + 4]
jle 0x448fea
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x448fea
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x3b8], 0x591f70
mov edx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x3b8]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
sar ecx, 3
cmp ecx, 0x64
jae 0x44906f
mov byte [ebp - 0x8e], 1
mov dword [ebp - 0x3bc], 0x591f70
mov edx, dword [ebp - 0x3bc]
mov eax, dword [ebp - 0x3bc]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
sar ecx, 3
xor ecx, 0x36
mov dword [ebp - 0x95c], ecx
lea edx, [ebp - 0x8e]
push edx
lea eax, [ebp - 0x95c]
push eax
movzx ecx, byte [ebp - 0x2b6]
push ecx
lea ecx, [ebp - 0xd30]
call fcn.004fb670
lea edx, [ebp - 0xd30]
push edx
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x449079
mov ecx, 0x591f70
call fcn.004ee980
xor eax, eax
mov byte [ebp - 0x8f], al
lea ecx, [ebp - 0x1169]
push ecx
lea ecx, [ebp - 0x8f]
call fcn.0044ab00
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], 0
jmp 0x4490b4
mov edx, dword [ebp - 0xe0]
add edx, 1
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0xb
jae 0x449111
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0x960], eax
mov ecx, dword [ebp - 0xe4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x960]
add eax, dword [ebp - 0xe0]
movsx ecx, byte [eax]
xor ecx, edx
mov byte [ebp - 0x90], cl
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0x964], edx
mov eax, dword [ebp - 0x964]
add eax, dword [ebp - 0xe0]
mov cl, byte [ebp - 0x90]
mov byte [eax], cl
jmp 0x4490a5
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0x968], edx
mov eax, 0xb
shl eax, 0
mov ecx, dword [ebp - 0x968]
mov byte [ecx + eax], 0
mov edx, dword [ebp - 0xe4]
add edx, 1
push edx
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x1150]
push ecx
call fcn.004186f0
add esp, 0xc
push eax
mov ecx, dword [ebp + 0x3c]
call fcn.0041b3b0
lea ecx, [ebp - 0x1150]
call fcn.00417140
mov edx, dword fs:[0x2c]
mov eax, dword [edx]
mov ecx, dword [0x591f6c]
cmp ecx, dword [eax + 4]
jle 0x4491b7
push 0x591f6c
call fcn.0053f46a
add esp, 4
cmp dword [0x591f6c], 0xffffffff
jne 0x4491b7
mov ecx, 0x591f70
call fcn.0041f450
push 0x56b790
call fcn.0053f39a
add esp, 4
push 0x591f6c
call fcn.0053f419
add esp, 4
mov dword [ebp - 0x3c0], 0x591f70
mov edx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
sar ecx, 3
cmp ecx, 0x64
jae 0x44923c
mov byte [ebp - 0x91], 1
mov dword [ebp - 0x3c4], 0x591f70
mov edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x3c4]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
sar ecx, 3
xor ecx, 0x36
mov dword [ebp - 0x96c], ecx
lea edx, [ebp - 0x91]
push edx
lea eax, [ebp - 0x96c]
push eax
movzx ecx, byte [ebp - 0x2b5]
push ecx
lea ecx, [ebp - 0xd38]
call fcn.004fb670
lea edx, [ebp - 0xd38]
push edx
mov ecx, 0x591f70
call fcn.004f5a80
jmp 0x449246
mov ecx, 0x591f70
call fcn.004ee980
movzx eax, byte [ebp - 0x92]
test eax, eax
je 0x44929e
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x44929e
movzx edx, byte [ebp - 3]
test edx, edx
je 0x44929e
sub esp, 0x18
mov ecx, esp
push 0x579598
call fcn.00414fd0
push 0
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0xbe8]
push eax
call fcn.004150c0
push 1
sub esp, 0x18
mov ecx, esp
lea edx, [ebp - 0xc78]
push edx
call fcn.004150c0
call fcn.0042d550
add esp, 0x50
lea ecx, [ebp - 0xc78]
call fcn.00417140
lea ecx, [ebp - 0x3d8]
call fcn.004f23d0
lea ecx, [ebp - 0x3f0]
call fcn.0041e940
lea ecx, [ebp - 0xbe8]
call fcn.00417140
lea ecx, [ebp - 0x428]
call fcn.00417140
lea ecx, [ebp - 0x440]
call fcn.00417140
lea ecx, [ebp + 8]
call fcn.00417140
lea ecx, [ebp + 0x20]
call fcn.00417140
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret