Function at 0x5ad8e0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x626cef
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push esi
push edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x54], esi
mov word [ebp - 0x58], si
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
mov word [ebp - 0x1c], si
mov edx, dword [ebx + 0xe4]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 2
je 0x5ad972
push esi
push edx
lea ecx, [ebp - 0x20]
call fcn.00402d00
mov al, byte [ebx + 0x325]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0xe4]
push eax
neg al
push 1
push edx
sbb eax, eax
lea edx, [ebp - 0x20]
and eax, 0xfde9
push edx
push eax
push ecx
mov ecx, ebx
call fcn.005ad8b0
jmp 0x5b0524
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x11c]
mov byte [ebp - 4], 3
cmp eax, esi
mov byte [ebp - 0x25], 0
jne 0x5ad992
lea eax, [ebx + 0x120]
push eax
call fcn.005de123
add esp, 4
test eax, eax
je 0x5adbe5
xor eax, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x38], eax
mov word [ebp - 0x34], si
mov edi, dword [ebx + 0x11c]
mov byte [ebp - 4], 4
cmp edi, esi
jne 0x5ad9c7
lea edi, [ebx + 0x120]
cmp edi, esi
je 0x5ada28
cmp eax, esi
je 0x5ada28
push edi
call fcn.005de123
add esp, 4
test eax, eax
je 0x5ada28
mov eax, dword [ebp - 0x38]
cmp eax, edi
ja 0x5ada28
push eax
call fcn.005de123
mov ecx, dword [ebp - 0x38]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5ada28
push edi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x44], esi
mov word [ebp - 0x48], si
call fcn.004023e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.004023d0
push eax
lea ecx, [ebp - 0x38]
call fcn.004023e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 4
call fcn.00401070
jmp 0x5ada71
lea ecx, [ebp - 0x38]
call fcn.00401070
cmp edi, esi
je 0x5ada71
push edi
call fcn.005de123
add esp, 4
test eax, eax
je 0x5ada71
push edi
call fcn.005de123
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
add esp, 8
cmp eax, esi
mov dword [ebp - 0x38], eax
je 0x5ada78
push edi
call fcn.005de123
mov ecx, dword [ebp - 0x38]
push edi
push ecx
mov dword [ebp - 0x30], eax
call fcn.005de2e9
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp eax, esi
jne 0x5ada7b
lea eax, [ebp - 0x34]
push 0x2e
push eax
call fcn.005de073
add esp, 8
cmp eax, esi
je 0x5adbcb
add eax, 2
lea ecx, [ebp - 0x3c]
push eax
call fcn.005fa919
mov edx, dword [ebx + 0xec]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 6
jne 0x5adad0
mov edx, dword [ebx + 0xdc]
cmp edx, esi
je 0x5adbbf
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5adbbf
cmp edx, esi
je 0x5adbbf
mov eax, dword [ebp - 0x3c]
mov ecx, 0x6ec6c0
push eax
push edx
call fcn.004306b0
cmp eax, esi
je 0x5adbbf
mov edi, dword [ebp - 0x38]
cmp edi, esi
jne 0x5adafd
lea edi, [ebp - 0x34]
cmp edi, esi
je 0x5adb5f
cmp dword [ebp - 0x5c], esi
je 0x5adb5f
push edi
call fcn.005de123
add esp, 4
test eax, eax
je 0x5adb5f
mov eax, dword [ebp - 0x5c]
cmp eax, edi
ja 0x5adb5f
push eax
call fcn.005de123
mov ecx, dword [ebp - 0x5c]
add esp, 4
lea edx, [ecx + eax*2]
cmp edx, edi
jb 0x5adb5f
push edi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x44], esi
mov word [ebp - 0x48], si
call fcn.004023e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 7
call fcn.004023d0
push eax
lea ecx, [ebp - 0x5c]
call fcn.004023e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 6
call fcn.00401070
jmp 0x5adba8
lea ecx, [ebp - 0x5c]
call fcn.00401070
cmp edi, esi
je 0x5adba8
push edi
call fcn.005de123
add esp, 4
test eax, eax
je 0x5adba8
push edi
call fcn.005de123
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
add esp, 8
cmp eax, esi
mov dword [ebp - 0x5c], eax
je 0x5adbaf
push edi
call fcn.005de123
mov ecx, dword [ebp - 0x5c]
push edi
push ecx
mov dword [ebp - 0x54], eax
call fcn.005de2e9
add esp, 0xc
mov eax, dword [ebp - 0x5c]
cmp eax, esi
jne 0x5adbb2
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2c]
call fcn.005faa09
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 4
call fcn.005fa859
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov al, byte [ebp - 0x25]
test al, al
jne 0x5ae2ee
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebx + 0x28]
push 0x6be6b8
push edx
call fcn.005de210
add esp, 8
test eax, eax
je 0x5ae27f
mov eax, dword [ebx + 0x28]
push 0x3d
push eax
call fcn.005df0e0
mov ecx, dword [ebx + 0x28]
push 0x3f
push ecx
mov dword [ebp - 0x50], eax
call fcn.005df0e0
add esp, 0x10
mov esi, eax
test esi, esi
mov dword [ebp - 0x64], esi
push 0x2f
je 0x5ade87
mov edx, dword [ebx + 0x28]
push edx
call fcn.005de150
add esp, 8
cmp eax, esi
mov dword [ebp - 0x24], eax
jbe 0x5ade5e
mov dword [ebp - 0x24], 0
test esi, esi
je 0x5adcdb
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x5adcdb
mov ecx, dword [ebp - 0x64]
cmp eax, ecx
jbe 0x5adcdb
mov edx, ecx
mov esi, eax
add edx, 5
cmp esi, edx
jb 0x5adc97
add esi, 0xfffffffc
push 4
push 0x6bc840
push esi
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x5adcdb
push 4
push 0x6dff94
push esi
call fcn.005e1940
add esp, 0xc
test eax, eax
je 0x5adcdb
mov esi, dword [ebp - 0x64]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x50], 0
cmp ecx, 3
jb 0x5adcd4
push 0x2e
push esi
call fcn.005de150
add esp, 8
test eax, eax
je 0x5adcd4
inc esi
push 0x6dff90
push esi
call fcn.005df8a0
add esp, 8
test eax, eax
je 0x5adcdb
mov dword [ebp - 0x64], 0
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x64]
cmp edx, eax
mov byte [ebp - 0x26], 0
jbe 0x5adefd
cmp edx, dword [ebp - 0x24]
jbe 0x5adefd
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae079
push edx
lea ecx, [ebp - 0x2c]
call fcn.005fa9e2
mov eax, dword [ebp - 0x2c]
push 0x2e
push eax
call fcn.005df0e0
add esp, 8
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x5adefd
cmp eax, dword [ebp - 0x2c]
je 0x5adefd
mov ecx, dword [0x6e7b6c]
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x60], ecx
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x60]
push edx
push 0x6bc090
push eax
mov byte [ebp - 4], 8
call fcn.005f368b
mov ecx, dword [ebp - 0x60]
add esp, 0xc
push 0x3f
push ecx
call fcn.005de150
add esp, 8
test eax, eax
je 0x5add6f
mov byte [eax], 0
mov edx, dword [ebp - 0x60]
push 0x2e
push edx
call fcn.005df0e0
mov esi, eax
add esp, 8
test esi, esi
je 0x5addec
inc esi
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5addec
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x14], eax
push esi
lea ecx, [ebp - 0x14]
push 0x6bc090
push ecx
mov byte [ebp - 4], 9
call fcn.005f368b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005faca1
mov edx, dword [ebp - 0x14]
push edx
push 0x6c1114
call fcn.005de210
add esp, 8
test eax, eax
je 0x5adde0
push 0x2a
push esi
call fcn.005de150
add esp, 8
test eax, eax
jne 0x5adde0
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 8
call fcn.005fa859
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebx + 0xec]
inc eax
mov edi, edx
mov dword [ebp - 0x3c], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5ade25
mov edx, dword [ebx + 0xdc]
test edx, edx
je 0x5aded1
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5aded1
mov edi, edx
test edi, edi
je 0x5aded1
mov al, byte [ebp - 0x25]
test al, al
je 0x5ade9b
push esi
push edi
mov ecx, 0x6ec6c0
call fcn.004306b0
test eax, eax
je 0x5ade9b
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005fa992
mov byte [ebp - 0x26], 1
mov bl, byte [ebp - 0x26]
jmp 0x5adee6
test eax, eax
je 0x5adc47
inc eax
push 0x2f
push eax
call fcn.005de150
add esp, 8
test eax, eax
je 0x5adc47
cmp eax, esi
jae 0x5adc47
mov dword [ebp - 0x24], eax
jmp 0x5ade66
mov eax, dword [ebx + 0x28]
push eax
call fcn.005df0e0
add esp, 8
mov dword [ebp - 0x24], eax
jmp 0x5adcdb
mov ecx, dword [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.005fa8c7
mov edx, dword [ebp - 0x3c]
mov ecx, 0x6ec6c0
push edx
push edi
mov byte [ebp - 4], 0xa
call fcn.004306b0
test eax, eax
mov bl, 1
jne 0x5adec3
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.005fa859
jmp 0x5adee6
mov al, byte [ebp - 0x25]
test al, al
je 0x5adee4
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005fa992
mov bl, 1
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call fcn.005fa859
test bl, bl
jne 0x5ae20d
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x24]
cmp edx, eax
jbe 0x5ae1d0
cmp edx, esi
jbe 0x5ae1d0
test edx, edx
je 0x5ae1b0
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x60], edx
je 0x5ae1b0
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x25], al
mov byte [ebp - 0x26], al
call fcn.005fa9e2
mov eax, dword [ebp - 0x2c]
push 0x2e
push eax
call fcn.005df0e0
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
je 0x5ae184
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x50]
push edx
push 0x6bc090
push eax
mov byte [ebp - 4], 0xb
call fcn.005f368b
mov ecx, dword [ebp - 0x50]
add esp, 0xc
push 0x3f
push ecx
call fcn.005de150
add esp, 8
test eax, eax
je 0x5adf93
mov byte [eax], 0
mov edx, dword [ebp - 0x50]
push 0x2e
push edx
call fcn.005df0e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x5ae010
inc ebx
or ecx, 0xffffffff
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae010
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x14], eax
push ebx
lea ecx, [ebp - 0x14]
push 0x6bc090
push ecx
mov byte [ebp - 4], 0xc
call fcn.005f368b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005faca1
mov edx, dword [ebp - 0x14]
push edx
push 0x6c1114
call fcn.005de210
add esp, 8
test eax, eax
je 0x5ae004
push 0x2a
push ebx
call fcn.005de150
add esp, 8
test eax, eax
jne 0x5ae004
mov byte [ebp - 0x25], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.005fa859
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x40]
inc eax
or ecx, 0xffffffff
mov esi, dword [edx + 0xec]
mov dword [ebp - 0x24], eax
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x5ae04c
mov esi, dword [edx + 0xdc]
test esi, esi
je 0x5ae0e5
mov edi, esi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae0e5
test esi, esi
je 0x5ae0e5
mov al, byte [ebp - 0x25]
test al, al
je 0x5ae090
push ebx
push esi
mov ecx, 0x6ec6c0
call fcn.004306b0
test eax, eax
je 0x5ae090
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005fa992
jmp 0x5ae0d4
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005fa9e2
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
jmp 0x5ae1c2
mov ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x3c]
call fcn.005fa8c7
mov edx, dword [ebp - 0x3c]
mov ecx, 0x6ec6c0
push edx
push esi
mov byte [ebp - 4], 0xd
call fcn.004306b0
test eax, eax
mov bl, 1
jne 0x5ae0b8
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
call fcn.005fa859
test bl, bl
jne 0x5ae0d4
mov edx, dword [ebp - 0x60]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005fa9e2
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.005fa859
jmp 0x5ae20d
mov al, byte [ebp - 0x25]
test al, al
je 0x5ae0fa
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x2c]
push eax
call fcn.005fa992
jmp 0x5ae0d4
mov edi, dword [ebp - 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 6
jae 0x5ae173
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x14], ecx
mov esi, dword [ebp - 0x24]
lea edx, [ebp - 0x14]
push esi
push 0x6bc090
push edx
mov byte [ebp - 4], 0xe
call fcn.005f368b
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.005faca1
mov eax, dword [ebp - 0x14]
push eax
push 0x6c1114
call fcn.005de210
add esp, 8
test eax, eax
je 0x5ae15c
push 0x2a
push esi
call fcn.005de150
add esp, 8
mov bl, 1
test eax, eax
je 0x5ae15f
mov bl, byte [ebp - 0x26]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.005fa859
test bl, bl
jne 0x5ae0d4
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005fa992
jmp 0x5ae0d4
test esi, esi
je 0x5ae19c
lea edx, [esi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae19c
push edx
jmp 0x5ae1a0
mov eax, dword [ebx + 0x28]
push eax
lea ecx, [ebp - 0x2c]
call fcn.005fa9e2
mov ecx, dword [ebp - 0x2c]
push 0x3f
push ecx
jmp 0x5ae1c2
mov edx, dword [ebx + 0x28]
lea ecx, [ebp - 0x2c]
push edx
call fcn.005fa9e2
mov eax, dword [ebp - 0x2c]
push 0x3f
push eax
call fcn.005de150
add esp, 8
test eax, eax
je 0x5ae20d
jmp 0x5ae20a
test edx, edx
jne 0x5ae1ec
test esi, esi
je 0x5ae1ec
lea edx, [esi + 1]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae1ec
push edx
jmp 0x5ae1f0
mov ecx, dword [ebx + 0x28]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.005fa9e2
mov edx, dword [ebp - 0x2c]
push 0x3f
push edx
call fcn.005de150
add esp, 8
test eax, eax
je 0x5ae20d
mov byte [eax], 0
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x5c]
mov esi, dword [eax + 0x170]
call fcn.00401070
test ebx, ebx
je 0x5ae2ee
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae2ee
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push esi
call edi
test eax, eax
mov dword [ebp - 0x54], eax
je 0x5ae2ee
lea ecx, [eax + eax + 2]
push ecx
call fcn.005f6c5c
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x5ae2f5
mov edx, dword [ebp - 0x54]
push edx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x54], eax
jmp 0x5ae2ee
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x5c]
mov esi, dword [eax + 0x170]
mov ebx, dword [eax + 0x28]
call fcn.00401070
test ebx, ebx
je 0x5ae2df
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5ae2df
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push eax
push 0xffffffffffffffff
push ebx
push eax
push esi
call edi
test eax, eax
mov dword [ebp - 0x54], eax
je 0x5ae2df
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
add esp, 4
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x5ae2df
mov ecx, dword [ebp - 0x54]
push ecx
push eax
push 0xffffffffffffffff
push ebx
push 0
push esi
call edi
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x40]
lea ecx, [ebp - 0x2c]
mov eax, dword [edx + 0x28]
push eax
call fcn.005fa9e2
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5ae2f8
lea eax, [ebp - 0x58]
push eax
call fcn.005de123
add esp, 4
cmp eax, 0x7d0
jae 0x5ae327
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x5c]
push edx
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x170]
push eax
push edx
call fcn.005ad8b0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5ae331
lea eax, [ebp - 0x58]
push 0x3d
push eax
call fcn.005de073
mov edi, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x5ae348
lea eax, [ebp - 0x58]
push 0x3f
push eax
call fcn.005de073
mov ebx, eax
mov eax, dword [ebp - 0x5c]
add esp, 8
test eax, eax
jne 0x5ae35f
lea eax, [ebp - 0x58]
push 0x2f
push eax
call fcn.005de073
add esp, 8
mov dword [ebp - 0x3c], eax
test ebx, ebx
je 0x5ae3c5
test edi, edi
je 0x5ae3c5
cmp ebx, edi
jae 0x5ae384
lea ecx, [ebx + 0xa]
cmp edi, ecx
jae 0x5ae390
xor edi, edi
cmp ebx, edi
jbe 0x5ae3d3
cmp ebx, eax
jbe 0x5ae3d3
add ebx, 2
push ebx
jmp 0x5ae3db
lea esi, [edi - 8]
push 4
push 0x6dff84
push esi
call fcn.005f2ed2
add esp, 0xc
test eax, eax
je 0x5ae3c2
push 4
push 0x6dff78
push esi
call fcn.005f2ed2
add esp, 0xc
test eax, eax
je 0x5ae3c2
mov eax, dword [ebp - 0x3c]
xor edi, edi
jmp 0x5ae382
mov eax, dword [ebp - 0x3c]
cmp ebx, edi
jae 0x5ae384
cmp edi, eax
jbe 0x5ae382
add edi, 2
push edi
jmp 0x5ae3db
test eax, eax
je 0x5ae3e3
add eax, 2
push eax
lea ecx, [ebp - 0x5c]
call fcn.004023e0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5ae3ed
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x20]
call fcn.004023e0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x5ae400
lea eax, [ebp - 0x58]
push eax
call fcn.005de123
add esp, 4
test eax, eax
jne 0x5ae6b0
mov esi, dword [ebp - 0x40]
mov ebx, 1
mov edx, dword [esi + 0x24]
test edx, edx
je 0x5ae540
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, ebx
jbe 0x5ae540
mov eax, dword [0x6e7b6c]
mov dword [ebp - 0x24], eax
push edx
lea ecx, [ebp - 0x24]
push 0x6bc090
push ecx
mov byte [ebp - 4], 0xf
call fcn.005f368b
mov edx, dword [ebp - 0x24]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], 0x2f
jne 0x5ae479
dec ecx
push 0
push ecx
lea ecx, [ebp - 0x24]
call fcn.005facc5
mov edx, dword [ebp - 0x24]
push 0x2f
push edx
call fcn.005df0e0
add esp, 8
test eax, eax
je 0x5ae52c
inc eax
push 0
push eax
lea ecx, [ebp - 0x20]
call fcn.00402d00
mov edx, 0x6c4178
test edx, edx
je 0x5ae52a
push edx
call fcn.005de123
add esp, 4
test eax, eax
je 0x5ae52a
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5ae4c6
push eax
call fcn.005de123
add esp, 4
mov edi, eax
jmp 0x5ae4c8
xor edi, edi
push 0x6c4178
call fcn.005de123
add eax, edi
lea eax, [eax + eax + 2]
push eax
call fcn.005f6c5c
mov edi, eax
add esp, 8
test edi, edi
je 0x5ae52a
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5ae505
push eax
push edi
call fcn.005de2e9
push 0x6c4178
push edi
call fcn.005de2bf
add esp, 0x10
jmp 0x5ae513
push 0x6c4178
push edi
call fcn.005de2e9
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.00401070
push edi
mov dword [ebp - 0x20], edi
call fcn.005de123
add esp, 4
mov dword [ebp - 0x18], eax
xor ebx, ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.005fa859
test ebx, ebx
je 0x5ae68c
mov eax, dword [esi + 0x20]
test eax, eax
je 0x5ae68c
xor esi, esi
lea ecx, [ebp - 0x38]
push esi
push eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov word [ebp - 0x34], si
call fcn.00402d00
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x10
cmp eax, esi
jne 0x5ae56f
lea eax, [ebp - 0x34]
push 0x2e
push eax
call fcn.005de073
add esp, 8
cmp eax, esi
je 0x5ae680
mov word [eax], 0
mov edi, dword [ebp - 0x38]
test edi, edi
je 0x5ae5b5
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae5ae
cmp word [edi], 0x2e
jne 0x5ae5a9
mov word [edi], 0x5f
add edi, 2
jmp 0x5ae59a
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x5ae5b8
lea eax, [ebp - 0x34]
mov ecx, 0x6dff68
test ecx, ecx
je 0x5ae680
test eax, eax
je 0x5ae680
xor esi, esi
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x44], esi
mov word [ebp - 0x48], si
call fcn.004023e0
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x11
call fcn.00401070
push 0x6dff68
lea ecx, [ebp - 0x70]
call fcn.00402350
mov edi, dword [ebp - 0x68]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x12
call fcn.004023d0
push eax
call fcn.005de123
lea ebx, [eax + edi + 2]
lea edi, [ebx + ebx]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
cmp edx, esi
mov dword [ebp - 0x20], edx
je 0x5ae668
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push eax
lea ecx, [ebp - 0x70]
call fcn.004023d0
push eax
mov eax, dword [ebp - 0x20]
push ebx
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0x14
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x11
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x10
call fcn.00401070
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5ae696
lea eax, [ebp - 0x1c]
push eax
call fcn.005de123
add esp, 4
test eax, eax
jne 0x5ae6b0
push 0x6dff4c
lea ecx, [ebp - 0x20]
call fcn.004023e0
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5ae6dc
push eax
mov edi, eax
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae6d9
cmp word [edi], 0x3a
jne 0x5ae6d4
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae6c5
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5ae710
test eax, eax
je 0x5ae837
push eax
mov edi, eax
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae70d
cmp word [edi], 0x2a
jne 0x5ae708
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae6f9
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5ae837
push eax
mov edi, eax
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae73a
cmp word [edi], 0x3f
jne 0x5ae735
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae726
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae765
cmp word [edi], 0x7c
jne 0x5ae760
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae751
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae790
cmp word [edi], 0x3c
jne 0x5ae78b
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae77c
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae7bb
cmp word [edi], 0x3e
jne 0x5ae7b6
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae7a7
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae7e2
cmp word [edi], 0x22
jne 0x5ae7dd
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae7ce
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae809
cmp word [edi], 0x25
jne 0x5ae804
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae7f5
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x5ae837
push edi
call fcn.005de123
add esp, 4
lea eax, [edi + eax*2]
cmp edi, eax
jae 0x5ae830
cmp word [edi], 0x5c
jne 0x5ae82b
mov word [edi], 0x2d
add edi, 2
jmp 0x5ae81c
mov edi, dword [ebp - 0x20]
test edi, edi
jne 0x5ae83a
lea edi, [ebp - 0x1c]
push edi
call fcn.005de123
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5ae859
cmp word [edi + ecx*2], 0x20
jae 0x5ae856
mov word [edi + ecx*2], 0x2d
inc ecx
jmp 0x5ae845
mov eax, dword [0x6ec784]
test eax, eax
jne 0x5af233
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5ae870
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005de61b
add esp, 8
test eax, eax
jne 0x5ae8a2
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5ae88c
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5aee39
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5aee40
mov edx, 0x6bffc0
test edx, edx
je 0x5aea7f
mov eax, 0x6ec0cc
test eax, eax
je 0x5aea7f
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5aea7f
mov ecx, dword [ebp - 0x20]
push 0x6bffc0
push ecx
call fcn.005de985
add esp, 8
mov edi, eax
xor ebx, ebx
test edi, edi
je 0x5ae912
push 0x6bffc0
inc ebx
call fcn.005de123
lea eax, [edi + eax*2]
push 0x6bffc0
push eax
call fcn.005de985
add esp, 0xc
mov edi, eax
jmp 0x5ae8ee
test ebx, ebx
je 0x5aea7f
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov word [ebp - 0x34], ax
call fcn.004023e0
push 0x6bffc0
mov byte [ebp - 4], 0x13
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5ae9a3
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffc0
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov edi, eax
call fcn.005de123
sub eax, edi
imul eax, ebx
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5ae9a6
jmp 0x5aea73
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.004023d0
push 0x6bffc0
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5aea36
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffc0
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp - 0x14]
push 0x6bffc0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 0x14
jmp 0x5ae9bf
mov esi, dword [ebp - 0x24]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5aee40
mov edx, 0x6bffbc
test edx, edx
je 0x5aec5c
mov eax, 0x6ec0cc
test eax, eax
je 0x5aec5c
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5aec5c
mov ecx, dword [ebp - 0x20]
push 0x6bffbc
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5aeaef
push 0x6bffbc
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffbc
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5aeacb
test edi, edi
je 0x5aec5c
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov word [ebp - 0x34], ax
call fcn.004023e0
push 0x6bffbc
mov byte [ebp - 4], 0x14
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5aeb80
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffbc
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5aeb83
jmp 0x5aec50
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.004023d0
push 0x6bffbc
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5aec13
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffbc
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp - 0x14]
push 0x6bffbc
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 0x14
jmp 0x5aeb9c
mov esi, dword [ebp - 0x24]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5aee40
mov edx, 0x6bffb8
test edx, edx
je 0x5aee39
mov eax, 0x6ec0cc
test eax, eax
je 0x5aee39
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5aee39
mov ecx, dword [ebp - 0x20]
push 0x6bffb8
push ecx
call fcn.005de985
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5aecce
push 0x6bffb8
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb8
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5aecaa
cmp edi, ebx
je 0x5aee39
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
push edx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x34], bx
call fcn.004023e0
push 0x6bffb8
mov byte [ebp - 4], 0x15
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5aed5d
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb8
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5aed60
jmp 0x5aee2d
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.004023d0
push 0x6bffb8
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5aedf0
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb8
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp - 0x14]
push 0x6bffb8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 0x14
jmp 0x5aed79
mov esi, dword [ebp - 0x24]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5aee43
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5af036
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5af03d
mov edx, 0x6bffb4
test edx, edx
je 0x5af036
mov eax, 0x6ec0cc
test eax, eax
je 0x5af036
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5af036
mov ecx, dword [ebp - 0x20]
push 0x6bffb4
push ecx
call fcn.005de985
add esp, 8
xor ebx, ebx
mov esi, eax
xor edi, edi
cmp esi, ebx
je 0x5aeecb
push 0x6bffb4
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb4
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5aeea7
cmp edi, ebx
je 0x5af036
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
push edx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x34], bx
call fcn.004023e0
push 0x6bffb4
mov byte [ebp - 4], 0x16
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5aef5a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb4
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5aef5d
jmp 0x5af02a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.004023d0
push 0x6bffb4
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5aefed
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb4
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp - 0x14]
push 0x6bffb4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 0x14
jmp 0x5aef76
mov esi, dword [ebp - 0x24]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5af040
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5af233
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5af233
mov edx, 0x6bffb0
test edx, edx
je 0x5af233
mov eax, 0x6ec0cc
test eax, eax
je 0x5af233
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5af233
mov ecx, dword [ebp - 0x20]
push 0x6bffb0
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5af0c6
push 0x6bffb0
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb0
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5af0a2
test edi, edi
je 0x5af233
mov edx, dword [ebp - 0x20]
xor eax, eax
push edx
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x30], eax
mov word [ebp - 0x34], ax
call fcn.004023e0
push 0x6bffb0
mov byte [ebp - 4], 0x17
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5af157
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb0
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5af15a
jmp 0x5af227
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x38]
call fcn.004023d0
push 0x6bffb0
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp - 0x14], eax
je 0x5af1ea
mov esi, dword [ebp - 0x24]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb0
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp - 0x14]
push 0x6bffb0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x24], eax
call fcn.005de985
add esp, 0x14
jmp 0x5af173
mov esi, dword [ebp - 0x24]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x24]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00401070
mov edi, dword [ebp - 0x40]
push 0x3f
mov edx, dword [edi + 0x28]
push edx
call fcn.005de150
mov esi, eax
mov eax, dword [edi + 0x28]
push 0x2e
push eax
call fcn.005de150
mov ebx, eax
mov eax, dword [ebp - 0x20]
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [ebp - 0x3c], ebx
jne 0x5af262
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x74], edi
mov word [ebp - 0x78], di
call fcn.004023e0
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 4], 0x18
cmp eax, edi
jne 0x5af283
lea eax, [ebp - 0x78]
push 0x2e
push eax
call fcn.005de073
mov edi, eax
add esp, 8
test edi, edi
je 0x5af2ab
mov word [edi], 0
add edi, 2
push edi
call fcn.005de123
add esp, 4
test eax, eax
jne 0x5af2ab
xor edi, edi
test esi, esi
je 0x5b02ac
test ebx, ebx
je 0x5b0219
cmp ebx, esi
ja 0x5b0219
mov ecx, dword [ebp - 0x3c]
lea ebx, [ecx + 1]
cmp ebx, esi
je 0x5b0219
test edi, edi
jne 0x5b02ac
mov edx, dword [ebp - 0x40]
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [edx + 0x28]
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b005c
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005f6c5c
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [ebp - 0x24], ebx
je 0x5b02ac
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x40]
mov ecx, esi
mov eax, dword [eax + 0x28]
sub ecx, eax
push ecx
push eax
push ebx
call fcn.005de680
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402d00
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x40]
push 0
push 1
push edx
mov edx, dword [ecx + 0x170]
lea eax, [ebp - 0x20]
push eax
push edx
push ebx
call fcn.005ad8b0
push 0x2e
push ebx
call fcn.005df0e0
mov edi, eax
add esp, 8
test edi, edi
mov dword [ebp - 0x14], edi
je 0x5b02a3
push 0x6dff44
push edi
call fcn.005de4a0
add esp, 8
test eax, eax
je 0x5af3c0
push 0x6dff3c
push edi
call fcn.005de4a0
add esp, 8
test eax, eax
je 0x5af3c0
push 0x6dff34
push edi
call fcn.005de4a0
add esp, 8
test eax, eax
je 0x5af3c0
push 0x6dff2c
push edi
call fcn.005de4a0
add esp, 8
test eax, eax
jne 0x5b02a3
mov edi, dword [ebp - 0x40]
push 0x3d
mov eax, dword [edi + 0x28]
push eax
call fcn.005df0e0
mov edi, dword [edi + 0x28]
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 8
mov dword [ebp - 0x3c], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, esi
jbe 0x5b02a3
mov eax, dword [ebp - 0x3c]
cmp byte [eax + ecx - 1], 0x2e
je 0x5b02a3
inc edx
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xa
jle 0x5af40f
lea edx, [edx + ecx - 0xa]
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov ecx, dword [0x6e7b6c]
mov dword [ebp - 0x3c], ecx
inc eax
mov byte [ebp - 4], 0x19
push eax
push edx
push ebx
lea edx, [ebp - 0x3c]
push 0x6dff20
push edx
call fcn.005f368b
mov eax, dword [ebp - 0x3c]
add esp, 0x14
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00402d00
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5af471
push eax
mov esi, eax
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af46e
cmp word [esi], 0x3a
jne 0x5af469
mov word [esi], 0x2d
add esi, 2
jmp 0x5af45a
mov eax, dword [ebp - 0x20]
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5af4a5
test eax, eax
je 0x5af678
push eax
mov esi, eax
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af4a2
cmp word [esi], 0x2a
jne 0x5af49d
mov word [esi], 0x2d
add esi, 2
jmp 0x5af48e
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5af678
push eax
mov esi, eax
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af4cf
cmp word [esi], 0x3f
jne 0x5af4ca
mov word [esi], 0x2d
add esi, 2
jmp 0x5af4bb
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af4fa
cmp word [esi], 0x7c
jne 0x5af4f5
mov word [esi], 0x2d
add esi, 2
jmp 0x5af4e6
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af525
cmp word [esi], 0x3c
jne 0x5af520
mov word [esi], 0x2d
add esi, 2
jmp 0x5af511
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af550
cmp word [esi], 0x3e
jne 0x5af54b
mov word [esi], 0x2d
add esi, 2
jmp 0x5af53c
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af57b
cmp word [esi], 0x22
jne 0x5af576
mov word [esi], 0x2d
add esi, 2
jmp 0x5af567
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af5a6
cmp word [esi], 0x25
jne 0x5af5a1
mov word [esi], 0x2d
add esi, 2
jmp 0x5af592
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af5d1
cmp word [esi], 0x5c
jne 0x5af5cc
mov word [esi], 0x2d
add esi, 2
jmp 0x5af5bd
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af5fc
cmp word [esi], 0x2f
jne 0x5af5f7
mov word [esi], 0x5f
add esi, 2
jmp 0x5af5e8
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af623
cmp word [esi], 0x27
jne 0x5af61e
mov word [esi], 0x5f
add esi, 2
jmp 0x5af60f
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af64a
cmp word [esi], 0x2c
jne 0x5af645
mov word [esi], 0x5f
add esi, 2
jmp 0x5af636
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x5af678
push esi
call fcn.005de123
add esp, 4
lea eax, [esi + eax*2]
cmp esi, eax
jae 0x5af671
cmp word [esi], 0x3b
jne 0x5af66c
mov word [esi], 0x5f
add esi, 2
jmp 0x5af65d
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x5af67b
lea esi, [ebp - 0x1c]
push esi
call fcn.005de123
add esp, 4
xor ecx, ecx
cmp ecx, eax
jge 0x5af69a
cmp word [esi + ecx*2], 0x20
jae 0x5af697
mov word [esi + ecx*2], 0x2d
inc ecx
jmp 0x5af686
mov eax, dword [0x6ec784]
test eax, eax
jne 0x5b0048
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5af6b1
lea eax, [ebp - 0x1c]
push 0x202a
push eax
call fcn.005de61b
add esp, 8
test eax, eax
jne 0x5af6e3
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5af6cd
lea eax, [ebp - 0x1c]
push 0x202d
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5afc66
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5afc6d
mov ecx, 0x6bffc0
test ecx, ecx
je 0x5af8bc
mov edx, 0x6ec0cc
test edx, edx
je 0x5af8bc
push edx
push ecx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5af8bc
mov eax, dword [ebp - 0x20]
push 0x6bffc0
push eax
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5af753
push 0x6bffc0
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffc0
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5af72f
test edi, edi
je 0x5af8bc
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.0040e020
push 0x6bffc0
mov byte [ebp - 4], 0x1a
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5af7e0
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x4c]
test esi, esi
jne 0x5af79a
lea esi, [ebp - 0x48]
push 0x6bffc0
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.005de123
mov edx, dword [ebp + 0x10]
add edx, eax
lea eax, [edx + edx + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5af7e3
jmp 0x5af8b0
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push 0x6bffc0
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5af873
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffc0
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp + 0x10]
push 0x6bffc0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 0x14
jmp 0x5af7fc
mov esi, dword [ebp - 0x14]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5afc6d
mov edx, 0x6bffbc
test edx, edx
je 0x5afa95
mov eax, 0x6ec0cc
test eax, eax
je 0x5afa95
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5afa95
mov ecx, dword [ebp - 0x20]
push 0x6bffbc
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5af92c
push 0x6bffbc
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffbc
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5af908
test edi, edi
je 0x5afa95
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
push edx
call fcn.0040e020
push 0x6bffbc
mov byte [ebp - 4], 0x1b
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5af9b9
lea ecx, [ebp - 0x20]
call fcn.00401070
mov esi, dword [ebp - 0x4c]
test esi, esi
jne 0x5af973
lea esi, [ebp - 0x48]
push 0x6bffbc
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
mov edx, eax
push esi
sub edx, ebx
imul edx, edi
mov dword [ebp + 0x10], edx
call fcn.005de123
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [ecx + ecx + 2]
push edx
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5af9bc
jmp 0x5afa89
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push 0x6bffbc
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5afa4c
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffbc
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp + 0x10]
push 0x6bffbc
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 0x14
jmp 0x5af9d5
mov esi, dword [ebp - 0x14]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5afc6d
mov edx, 0x6bffb8
test edx, edx
je 0x5afc66
mov eax, 0x6ec0cc
test eax, eax
je 0x5afc66
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5afc66
mov ecx, dword [ebp - 0x20]
push 0x6bffb8
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5afb05
push 0x6bffb8
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb8
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5afae1
test edi, edi
je 0x5afc66
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
push edx
call fcn.0040e020
push 0x6bffb8
mov byte [ebp - 4], 0x1c
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5afb8a
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb8
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5afb8d
jmp 0x5afc5a
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push 0x6bffb8
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5afc1d
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb8
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp + 0x10]
push 0x6bffb8
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 0x14
jmp 0x5afba6
mov esi, dword [ebp - 0x14]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5afc70
lea eax, [ebp - 0x1c]
push 0x200e
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5afe57
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5afe5e
mov edx, 0x6bffb4
test edx, edx
je 0x5afe57
mov eax, 0x6ec0cc
test eax, eax
je 0x5afe57
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5afe57
mov ecx, dword [ebp - 0x20]
push 0x6bffb4
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5afcf6
push 0x6bffb4
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb4
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5afcd2
test edi, edi
je 0x5afe57
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
push edx
call fcn.0040e020
push 0x6bffb4
mov byte [ebp - 4], 0x1d
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5afd7b
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb4
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5afd7e
jmp 0x5afe4b
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push 0x6bffb4
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5afe0e
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb4
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp + 0x10]
push 0x6bffb4
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 0x14
jmp 0x5afd97
mov esi, dword [ebp - 0x14]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00401070
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x5afe61
lea eax, [ebp - 0x1c]
push 0x200f
push eax
call fcn.005de61b
add esp, 8
test eax, eax
je 0x5b0048
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x5b0048
mov edx, 0x6bffb0
test edx, edx
je 0x5b0048
mov eax, 0x6ec0cc
test eax, eax
je 0x5b0048
push eax
push edx
call fcn.005de644
add esp, 8
test eax, eax
je 0x5b0048
mov ecx, dword [ebp - 0x20]
push 0x6bffb0
push ecx
call fcn.005de985
add esp, 8
mov esi, eax
xor edi, edi
test esi, esi
je 0x5afee7
push 0x6bffb0
inc edi
call fcn.005de123
lea eax, [esi + eax*2]
push 0x6bffb0
push eax
call fcn.005de985
add esp, 0xc
mov esi, eax
jmp 0x5afec3
test edi, edi
je 0x5b0048
mov edx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
push edx
call fcn.0040e020
push 0x6bffb0
mov byte [ebp - 4], 0x1e
call fcn.005de123
push 0x6ec0cc
mov esi, eax
call fcn.005de123
add esp, 8
cmp eax, esi
jbe 0x5aff6c
lea ecx, [ebp - 0x20]
call fcn.00401070
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push eax
call fcn.005de123
push 0x6bffb0
mov esi, eax
call fcn.005de123
push 0x6ec0cc
mov ebx, eax
call fcn.005de123
sub eax, ebx
imul eax, edi
add esi, eax
lea eax, [esi + esi + 2]
push eax
call fcn.005f6c5c
mov ebx, eax
add esp, 0x10
test ebx, ebx
mov dword [ebp - 0x20], ebx
jne 0x5aff6f
jmp 0x5b003c
mov ebx, dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.004023d0
push 0x6bffb0
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 8
test eax, eax
mov dword [ebp + 0x10], eax
je 0x5affff
mov esi, dword [ebp - 0x14]
mov edi, ebx
sub eax, esi
push 0x6ec0cc
sar eax, 1
shl eax, 1
mov ecx, eax
add ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
mov ecx, eax
mov esi, 0x6ec0cc
shl ecx, 1
mov eax, ecx
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0x6ec0cc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
push 0x6bffb0
lea ebx, [ebx + eax*2]
call fcn.005de123
mov ecx, dword [ebp + 0x10]
push 0x6bffb0
lea eax, [ecx + eax*2]
push eax
mov dword [ebp - 0x14], eax
call fcn.005de985
add esp, 0x14
jmp 0x5aff88
mov esi, dword [ebp - 0x14]
push esi
call fcn.005de123
mov ecx, eax
mov edi, ebx
shl ecx, 1
mov edx, ecx
mov eax, dword [ebp - 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.005de123
lea ebx, [ebx + eax*2]
mov word [ebx], 0
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0xc
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x18
call fcn.005fa859
mov ebx, dword [ebp - 0x24]
jmp 0x5b02a3
cmp ebx, esi
jae 0x5b007a
push 0x2e
push ebx
call fcn.005de150
add esp, 8
test eax, eax
je 0x5b007a
lea edx, [eax + 1]
cmp edx, esi
jae 0x5b007a
mov ebx, eax
jmp 0x5b005c
sub esi, ebx
lea edi, [esi + 1]
cmp edi, 1
jle 0x5b0208
push edi
call fcn.005f6c5c
mov edx, eax
mov ecx, edi
mov dword [ebp + 0x10], edx
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
add esp, 4
mov ecx, edx
and ecx, 3
push esi
mov esi, dword [ebp + 0x10]
push ebx
push esi
rep stosb byte es:[edi], al
call fcn.005de680
add esp, 0xc
xor ebx, ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
push ebx
push esi
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x48], bx
call fcn.00402d00
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x1f
cmp eax, ebx
mov edi, eax
jne 0x5b00de
lea edi, [ebp - 0x48]
mov esi, dword [ebp - 0x7c]
cmp esi, ebx
jne 0x5b00e8
lea esi, [ebp - 0x78]
mov eax, 0x6bff60
test eax, eax
je 0x5b01eb
cmp esi, ebx
je 0x5b01eb
cmp edi, ebx
je 0x5b01eb
push eax
lea ecx, [ebp - 0x94]
call fcn.00402350
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x20
call fcn.0040e020
push edi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x21
call fcn.0040e020
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x22
call fcn.00401070
mov esi, dword [ebp - 0x8c]
lea ecx, [ebp - 0x70]
call fcn.004023d0
push eax
call fcn.005de123
add esp, 4
lea ecx, [ebp - 0x38]
mov edi, eax
call fcn.004023d0
push eax
call fcn.005de123
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
cmp edx, ebx
mov dword [ebp - 0x20], edx
je 0x5b01c4
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x70]
call fcn.004023d0
push eax
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
lea ecx, [ebp - 0x94]
call fcn.004023d0
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x21
call fcn.00401070
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x20
call fcn.00401070
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x1f
call fcn.00401070
mov edx, dword [ebp + 0x10]
push edx
call fcn.005f6c85
add esp, 4
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x18
call fcn.00401070
jmp 0x5b02ac
mov eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0x20]
push eax
call fcn.004023e0
jmp 0x5b02ac
test edi, edi
jne 0x5b02ac
mov ecx, dword [ebp - 0x40]
xor eax, eax
mov edx, dword [ecx + 0x28]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b02ac
cmp esi, edx
jbe 0x5b02ac
mov eax, dword [ebp - 0x3c]
inc eax
cmp eax, esi
je 0x5b02ac
mov edi, esi
sub edi, edx
inc edi
push edi
call fcn.005f6c5c
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x5b02ac
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x28]
sub esi, eax
push esi
push eax
push ebx
call fcn.005de680
add esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push ebx
call fcn.00402d00
mov ecx, dword [ebp + 0x10]
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx + 0x170]
push eax
push ebx
call fcn.005ad8b0
push ebx
call fcn.005f6c85
add esp, 4
mov ecx, dword [ebp - 0x40]
xor eax, eax
mov edx, dword [ecx + 0x34c]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x5b050c
mov cl, byte [edx]
mov edx, dword [ebp - 0x20]
cmp cl, 0x2e
push edx
sete bl
xor esi, esi
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov word [ebp - 0x34], si
call fcn.004023e0
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x23
cmp eax, esi
jne 0x5b02f5
lea eax, [ebp - 0x34]
push 0x2e
push eax
call fcn.005de073
mov esi, eax
xor edi, edi
add esp, 8
cmp esi, edi
je 0x5b04a3
test bl, bl
jne 0x5b0313
add esi, 2
push esi
lea ecx, [ebp + 0x10]
call fcn.005fa919
mov ebx, dword [ebp - 0x40]
mov byte [ebp - 4], 0x24
mov eax, dword [ebx + 0x34c]
mov ecx, dword [eax - 8]
inc ecx
push ecx
push eax
mov eax, dword [ebp + 0x10]
push eax
call fcn.005e0470
add esp, 0xc
test eax, eax
je 0x5b0495
mov word [esi], di
mov eax, dword [ebx + 0x34c]
push edi
push eax
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x44], edi
mov word [ebp - 0x48], di
call fcn.00402d00
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x25
cmp eax, edi
mov ebx, eax
jne 0x5b0370
lea ebx, [ebp - 0x48]
mov esi, dword [ebp - 0x38]
cmp esi, edi
jne 0x5b037a
lea esi, [ebp - 0x34]
mov ecx, 0x6bc11c
test ecx, ecx
je 0x5b0489
cmp esi, edi
je 0x5b0489
cmp ebx, edi
je 0x5b0489
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00402350
push esi
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x26
call fcn.0040e020
push ebx
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x27
call fcn.0040e020
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x28
call fcn.00401070
mov esi, dword [ebp - 0x98]
lea ecx, [ebp - 0x94]
call fcn.004023d0
push eax
call fcn.005de123
add esp, 4
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.004023d0
push eax
call fcn.005de123
add esi, edi
lea esi, [eax + esi + 3]
lea edi, [esi + esi]
push edi
call fcn.005f6c5c
mov edx, eax
add esp, 8
test edx, edx
mov dword [ebp - 0x20], edx
je 0x5b045f
mov ecx, edi
mov edi, edx
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x94]
call fcn.004023d0
push eax
lea ecx, [ebp - 0x70]
call fcn.004023d0
push eax
lea ecx, [ebp - 0xa0]
call fcn.004023d0
push eax
mov eax, dword [ebp - 0x20]
push esi
push eax
call fcn.005de0b3
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.005de123
add esp, 0x18
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x27
call fcn.00401070
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x26
call fcn.00401070
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x25
call fcn.00401070
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x24
call fcn.00401070
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x23
call fcn.005fa859
jmp 0x5b0500
mov edx, dword [ebp - 0x40]
push edi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x4c], edi
mov eax, dword [edx + 0x34c]
mov dword [ebp - 0x44], edi
push eax
mov word [ebp - 0x48], di
call fcn.00402d00
test bl, bl
mov byte [ebp - 4], 0x29
mov ecx, 0x6ec0cc
jne 0x5b04d2
mov ecx, 0x6bcee8
mov eax, dword [ebp - 0x4c]
cmp eax, edi
jne 0x5b04dc
lea eax, [ebp - 0x48]
push eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.004023d0
push eax
push 0x6bcc34
lea ecx, [ebp - 0x20]
call fcn.00441620
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x23
call fcn.00401070
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x18
call fcn.00401070
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 3
call fcn.00401070
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.005fa859
mov edi, dword [ebp - 0x40]
mov eax, dword [edi + 0x44]
cmp eax, 4
je 0x5b0534
cmp eax, 5
jne 0x5b056a
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.004023d0
push eax
call fcn.005de073
add esp, 8
test eax, eax
push 0x6c020c
je 0x5b0562
push eax
call fcn.005e07bc
add esp, 8
test eax, eax
je 0x5b056a
push 0x6c020c
lea ecx, [ebp - 0x20]
call fcn.0045feb0
lea ecx, [ebp - 0x88]
call fcn.0041c830
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x2a
test esi, esi
je 0x5b05fe
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.004023d0
push eax
call fcn.005de073
mov ecx, dword [0x6e7b6c]
add esp, 8
mov dword [ebp + 0x10], ecx
test eax, eax
mov byte [ebp - 4], 0x2b
je 0x5b05b0
add eax, 2
lea ecx, [ebp + 0x10]
push eax
call fcn.005faa09
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0x88]
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004afe20
test al, al
jne 0x5b05e2
lea eax, [ebp - 0x88]
push eax
call fcn.00446d00
add esp, 4
jmp 0x5b05f0
mov ecx, dword [ebp - 0xa4]
push ecx
mov ecx, edi
call fcn.005a2330
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x2a
call fcn.005fa859
jmp 0x5b060d
lea edx, [ebp - 0x88]
push edx
call fcn.00446d00
add esp, 4
lea ecx, [ebp - 0x88]
call fcn.004023d0
push eax
call fcn.005de123
mov edi, eax
mov esi, 0x103
sub esi, edi
add esp, 4
cmp esi, 0x100
jbe 0x5b0637
mov esi, 0x100
lea ecx, [ebp - 0x20]
call fcn.004023d0
push eax
call fcn.005de123
add esp, 4
cmp eax, esi
jbe 0x5b069a
lea ecx, [ebp - 0x20]
call fcn.004023d0
push eax
call fcn.005de123
mov ebx, eax
add esp, 4
lea ecx, [ebp - 0x20]
sub ebx, esi
call fcn.004023d0
lea eax, [eax + ebx*2]
lea ecx, [ebp - 0xa0]
push eax
call fcn.0040e020
mov ecx, dword [ebp - 0xa0]
mov byte [ebp - 4], 0x2c
push ecx
lea ecx, [ebp - 0x20]
call fcn.004023e0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2a
call fcn.00401070
lea ecx, [ebp - 0x88]
call fcn.004023d0
cmp word [eax + edi*2 - 2], 0x5c
mov esi, 0x6ec0cc
je 0x5b06b7
mov esi, 0x6bc14c
lea ecx, [ebp - 0x20]
call fcn.004023d0
push eax
push esi
lea ecx, [ebp - 0x88]
call fcn.004023d0
mov ecx, dword [ebp + 0xc]
push eax
push 0x6bcc34
call fcn.00441620
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.00401070
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0
call fcn.00401070
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc