Function at 0x46b4a0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4aa12e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push ebp
push esi
push edi
mov al, byte [esp + 0x37]
xor ebp, ebp
push ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], ebp
mov byte [esp + 0x18], al
call fcn.0041ba60
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46b51e
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
push ebp
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 1
call fcn.00475930
push ebp
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb4], 2
call fcn.00475930
push ebp
lea ecx, [esp + 0x34]
mov byte [esp + 0xb4], 3
call fcn.00475930
lea ecx, [esp + 0x6c]
mov byte [esp + 0xb0], 4
call fcn.0047a3a0
mov al, byte [esp + 0x37]
push ebp
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], 5
mov byte [esp + 0x50], al
call fcn.0041ba60
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x50]
push ebx
call fcn.0041c2e0
test al, al
je 0x46b5c3
mov edi, dword [esp + 0x50]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x50]
call fcn.0041c2c0
push 0x41
lea ecx, [esp + 0x14]
mov byte [esp + 0xb4], 6
mov dword [esp + 0x88], ebp
call fcn.00475ce0
push 0x1f
lea ecx, [esp + 0x14]
call fcn.00475ce0
push ebp
lea ecx, [esp + 0x14]
call fcn.00475ce0
push ebp
lea ecx, [esp + 0x14]
call fcn.00475ce0
push ebp
lea ecx, [esp + 0x14]
call fcn.00475ce0
push 1
lea ecx, [esp + 0x14]
call fcn.00475ce0
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46b655
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
push 0x11
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.00475910
lea eax, [esp + 0x60]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 7
push ecx
push ebp
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4bca14
lea ecx, [esp + 0x1c]
call fcn.0041c040
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push 6
push 0x4bccc0
call fcn.004759a0
lea edx, [esp + 0x60]
push edx
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 8
push ecx
push ebp
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
push ebp
push 0x16
sub esp, 0x10
lea edx, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x60], esp
push ecx
mov ecx, esp
mov dword [esp + 0x9c], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0xa8], esp
push eax
mov byte [esp + 0xdc], 9
call fcn.0041b230
mov byte [esp + 0xd8], 6
mov ecx, 0x4c45b8
call fcn.0047a9a0
cmp ax, 2
je 0x46c490
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46b7bf
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
push 0x12
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x60]
push ecx
call fcn.00477540
add esp, 8
mov edx, dword [0x4ad134]
lea ecx, [esp + 0x14]
push edx
push ebp
push eax
mov byte [esp + 0xbc], 0xa
call fcn.0041bf60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bc280
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4bc280
lea ecx, [esp + 0x1c]
call fcn.0041c040
push 0x1f
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x60]
push ecx
call fcn.00477540
add esp, 8
mov edx, dword [0x4ad134]
lea ecx, [esp + 0x14]
push edx
push ebp
push eax
mov byte [esp + 0xbc], 0xb
call fcn.0041bf60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
xor esi, esi
mov al, byte [esp + 0x37]
sub esp, 0x10
mov ebp, esp
mov dword [esp + 0x90], esp
push esi
mov ecx, ebp
mov byte [ebp], al
call fcn.0041ba60
mov edi, 0x4bcce4
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.0041c2e0
test al, al
je 0x46b8f1
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4bcce4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.0041c2c0
xor esi, esi
sub esp, 0x10
lea eax, [esp + 0x57]
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
push 0x4c4510
mov byte [esp + 0xd8], 0xc
call fcn.0041b350
sub esp, 0x10
lea edx, [esp + 0xba]
mov ecx, esp
mov dword [esp + 0xbc], esp
push edx
push 0x4bcce0
mov byte [esp + 0xe8], 0xd
call fcn.0041b350
sub esp, 0x10
lea eax, [esp + 0xcb]
mov ecx, esp
mov dword [esp + 0xd0], esp
push eax
push 0x4c4510
mov byte [esp + 0xf8], 0xe
call fcn.0041b350
sub esp, 0x10
lea edx, [esp + 0x108]
mov edi, esp
mov dword [esp + 0x7c], esp
push ecx
mov byte [esp + 0x104], 0xf
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
call fcn.00475910
push edi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x74]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
mov byte [esp + 0x114], 0x10
call fcn.0041b230
lea ecx, [esp + 0xf4]
mov byte [esp + 0x110], 6
push ecx
mov ecx, 0x4c45b8
call fcn.0047ac60
mov ecx, dword [0x4ad134]
mov dx, word [eax]
push ecx
add eax, 4
push esi
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0xbc], 0x11
mov word [esp + 0x78], dx
call fcn.0041b7e0
push 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
lea ecx, [esp + 0x6c]
call fcn.00483340
cmp ax, 2
je 0x46c490
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x6c]
push edx
call fcn.0047a5f0
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x12
push ecx
push esi
push eax
lea ecx, [esp + 0x58]
call fcn.0041b7e0
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
lea edx, [esp + 0x84]
lea eax, [esp + 0x4c]
push edx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.0041b230
mov ecx, dword [0x4c4560]
call fcn.0042f0c0
cmp ax, si
jne 0x46bb6e
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46babe
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor esi, esi
push 0x20
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x3c]
push ecx
call fcn.00477540
add esp, 8
mov edx, dword [0x4ad134]
lea ecx, [esp + 0x14]
push edx
push esi
push eax
mov byte [esp + 0xbc], 0x13
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
push esi
push 1
sub esp, 0x10
lea eax, [esp + 0xd0]
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
sub esp, 8
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
mov byte [esp + 0xdc], 0x14
call fcn.0041b230
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
jmp 0x46b895
push 4
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push esi
push esi
sub esp, 0x10
lea eax, [esp + 0xd0]
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
sub esp, 8
lea edx, [esp + 0x38]
mov edi, esp
mov dword [esp + 0x54], esp
push ecx
mov byte [esp + 0xdc], 0x15
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00475930
lea ecx, [esp + 0x2c]
call fcn.00475ae0
push esi
lea ecx, [esp + 0x2c]
call fcn.00475ce0
push 2
push 0x4bccdc
lea ecx, [esp + 0x50]
call fcn.004759a0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb4], 0x16
call fcn.00475a90
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 6
call fcn.00475a40
push 1
lea ecx, [esp + 0x2c]
call fcn.00475ce0
mov ecx, dword [0x4c4548]
call fcn.004421f0
test ax, ax
jne 0x46bd03
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x4bc2f0
call fcn.004759a0
push ecx
mov byte [esp + 0xc0], 0x17
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x4bccb8
call fcn.004759a0
mov ecx, 0x4c45b8
mov byte [esp + 0xc0], 6
call fcn.0047aa50
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], 5
call fcn.0041ba60
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0xb4], 4
call fcn.0041ba60
lea ecx, [esp + 0x30]
mov byte [esp + 0xb0], 3
call fcn.00475a40
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 2
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0
call fcn.0041ba60
jmp 0x46ce6a
push 1
push 0x4c4538
push ecx
lea eax, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.00475910
mov ecx, dword [0x4c4548]
call fcn.0043efc0
cmp ax, si
jne 0x46bd80
push 0x1d
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push esi
push 1
sub esp, 0x10
lea edx, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x38]
mov esi, esp
mov dword [esp + 0x54], esp
push ecx
mov byte [esp + 0xdc], 0x18
mov ecx, esp
mov dword [esp + 0x58], esp
push eax
jmp 0x46c611
cmp ax, 1
jne 0x46c501
push esi
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x34]
call fcn.00475ae0
lea ecx, [esp + 0x30]
call fcn.00475d00
movsx eax, ax
sub eax, 2
xor ebp, ebp
cdq
sub eax, edx
mov edi, eax
sar edi, 1
cmp di, si
jle 0x46be0c
mov esi, 3
lea ecx, [esi - 1]
push ecx
lea ecx, [esp + 0x34]
call fcn.00475c70
xor bx, bx
push esi
mov bl, al
lea ecx, [esp + 0x34]
shl ebx, 8
call fcn.00475c70
xor dx, dx
mov dl, al
add ebx, edx
cmp bx, word [esp + 0x84]
je 0x46c223
inc ebp
add esi, 2
cmp bp, di
jl 0x46bdcd
xor esi, esi
cmp di, 0x1e
jl 0x46c501
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46be5e
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
xor esi, esi
mov byte [ebx + eax], 0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x5c]
push ecx
push 0x4bccd8
push edx
call fcn.0041c900
push 0x4bccd4
push eax
lea eax, [esp + 0x4c]
mov byte [esp + 0xc4], 0x1f
push eax
call fcn.0043cdb0
add esp, 0x18
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x20
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041b7e0
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 0x1f
call fcn.0041ba60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebx
ja 0x46bef3
call fcn.0049813b
cmp ebx, esi
jbe 0x46bf39
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebp, [ebx + eax]
push ebp
call fcn.0041c2e0
test al, al
je 0x46bf39
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
push ebp
lea edi, [edx + ecx]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor esi, esi
push 0x13
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x21
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebx
ja 0x46bfb7
call fcn.0049813b
cmp ebx, esi
jbe 0x46bffd
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebp, [ebx + eax]
push ebp
call fcn.0041c2e0
test al, al
je 0x46bffd
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
push ebp
lea edi, [edx + ecx]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor esi, esi
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x22
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bccd0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebx
ja 0x46c07b
call fcn.0049813b
cmp ebx, esi
jbe 0x46c0c1
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebp, [ebx + eax]
push ebp
call fcn.0041c2e0
test al, al
je 0x46c0c1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bccd0
push ebp
lea edi, [edx + ecx]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor esi, esi
push 0x19
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x23
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebx
ja 0x46c13f
call fcn.0049813b
cmp ebx, esi
jbe 0x46c185
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebp, [ebx + eax]
push ebp
call fcn.0041c2e0
test al, al
je 0x46c185
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
push ebp
lea edi, [edx + ecx]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor esi, esi
push 0x14
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x24
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
push esi
push 1
sub esp, 0x10
lea edx, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0xdc], 0x25
call fcn.0041b230
jmp 0x46c61f
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46c267
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x5c]
push ecx
push 0x4bccd8
push edx
call fcn.0041c900
push 0x4bccd4
push eax
lea eax, [esp + 0x4c]
mov bl, 0x19
push eax
mov byte [esp + 0xc8], bl
call fcn.0043cdb0
add esp, 0x18
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x1a
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0041b7e0
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], bl
call fcn.0041ba60
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4bca14
lea ecx, [esp + 0x1c]
call fcn.0041c040
push 0x15
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x1b
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4bca14
lea ecx, [esp + 0x1c]
call fcn.0041c040
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x1c
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
mov edi, 0x4bccd0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4bccd0
lea ecx, [esp + 0x1c]
call fcn.0041c040
push 0x1a
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x1d
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xb4], 6
call fcn.0041ba60
push 0
push 1
sub esp, 0x10
lea edx, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0xdc], 0x1e
call fcn.0041b230
mov byte [esp + 0xd8], 6
mov ecx, 0x4c45b8
call fcn.0047a9a0
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], 5
call fcn.0041ba60
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0xb4], 4
call fcn.0041ba60
lea ecx, [esp + 0x30]
mov byte [esp + 0xb0], 3
call fcn.00475a40
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 2
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0
call fcn.0041ba60
jmp 0x46d1ad
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00475930
lea ecx, [esp + 0x2c]
call fcn.00475ae0
push esi
lea ecx, [esp + 0x2c]
call fcn.00475ce0
push 1
push 0x4bcccc
lea ecx, [esp + 0x50]
call fcn.004759a0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb4], 0x26
call fcn.00475a90
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 6
call fcn.00475a40
push 1
lea ecx, [esp + 0x2c]
call fcn.00475ce0
mov ecx, dword [0x4c4548]
call fcn.004421f0
test ax, ax
jne 0x46c599
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x4bc2f0
call fcn.004759a0
push ecx
mov byte [esp + 0xc0], 0x27
mov ecx, esp
mov dword [esp + 0x3c], esp
jmp 0x46bc74
push 1
push 0x4c4538
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4548]
call fcn.0043efc0
cmp ax, si
jne 0x46c636
push 0x1d
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push esi
push 1
sub esp, 0x10
lea eax, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea edx, [esp + 0x38]
mov esi, esp
mov dword [esp + 0x54], esp
push ecx
mov byte [esp + 0xdc], 0x28
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
jmp 0x46bc92
cmp ax, 1
jne 0x46c6c2
push esi
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x34]
call fcn.00475ae0
lea ecx, [esp + 0x30]
call fcn.00475d00
movsx eax, ax
sub eax, 2
xor ebp, ebp
cdq
sub eax, edx
mov edi, eax
sar edi, 1
cmp di, si
jle 0x46c6c2
mov esi, 3
lea eax, [esi - 1]
lea ecx, [esp + 0x30]
push eax
call fcn.00475c70
xor bx, bx
push esi
mov bl, al
lea ecx, [esp + 0x34]
shl ebx, 8
call fcn.00475c70
xor cx, cx
mov cl, al
add ebx, ecx
cmp bx, word [esp + 0x84]
je 0x46c77c
inc ebp
add esi, 2
cmp bp, di
jl 0x46c683
xor esi, esi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00475930
lea ecx, [esp + 0x2c]
call fcn.00475ae0
push esi
lea ecx, [esp + 0x2c]
call fcn.00475ce0
push 2
push 0x4bccc8
lea ecx, [esp + 0x50]
call fcn.004759a0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xb4], 0x30
call fcn.00475a90
lea ecx, [esp + 0x48]
mov byte [esp + 0xb0], 6
call fcn.00475a40
push 1
lea ecx, [esp + 0x2c]
call fcn.00475ce0
mov ecx, dword [0x4c4548]
call fcn.004421f0
test ax, ax
jne 0x46cd08
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x4bc2f0
call fcn.004759a0
push ecx
mov byte [esp + 0xc0], 0x31
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x4bccb8
call fcn.004759a0
mov ecx, 0x4c45b8
mov byte [esp + 0xc0], 6
call fcn.0047aa50
jmp 0x46cda4
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46c7c2
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + eax], 0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x38]
push ecx
push 0x4bccd8
push edx
call fcn.0041c900
push 0x4bccd4
push eax
lea eax, [esp + 0x70]
mov byte [esp + 0xc4], 0x29
push eax
call fcn.0043cdb0
add esp, 0x18
mov ecx, dword [0x4ad134]
xor esi, esi
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xbc], 0x2a
call fcn.0041b7e0
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x46c832
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46c829
cmp al, 0xff
je 0x46c829
dec al
mov byte [ecx], al
jmp 0x46c832
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], esi
cmp eax, esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0xb0], 6
je 0x46c86b
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46c862
cmp al, 0xff
je 0x46c862
dec al
mov byte [ecx], al
jmp 0x46c86b
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebx
ja 0x46c891
call fcn.0049813b
cmp ebx, esi
jbe 0x46c8d5
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebp, [ebx + eax]
push ebp
call fcn.0041c2e0
test al, al
je 0x46c8d5
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
push ebp
lea edi, [edx + ecx]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
push 0x15
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x2b
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
test eax, eax
je 0x46c948
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46c93f
cmp al, 0xff
je 0x46c93f
dec al
mov byte [ecx], al
jmp 0x46c948
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebp
ja 0x46c96e
call fcn.0049813b
xor esi, esi
cmp ebp, esi
jbe 0x46c9b8
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46c9b8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
xor esi, esi
mov byte [ebx + ecx], 0
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x2c
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
cmp eax, esi
je 0x46ca2a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ca21
cmp al, 0xff
je 0x46ca21
dec al
mov byte [ecx], al
jmp 0x46ca2a
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bccd0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebp
ja 0x46ca50
call fcn.0049813b
cmp ebp, esi
jbe 0x46ca98
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46ca98
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bccd0
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
xor esi, esi
mov byte [ebx + ecx], 0
push 0x1b
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x2d
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
cmp eax, esi
je 0x46cb0a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cb01
cmp al, 0xff
je 0x46cb01
dec al
mov byte [ecx], al
jmp 0x46cb0a
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebp
ja 0x46cb30
call fcn.0049813b
cmp ebp, esi
jbe 0x46cb78
mov eax, dword [esp + 0x1c]
push esi
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46cb78
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
xor esi, esi
mov byte [ebx + ecx], 0
push 0x16
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x2e
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041bf60
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
cmp eax, esi
je 0x46cbea
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cbe1
cmp al, 0xff
je 0x46cbe1
dec al
mov byte [ecx], al
jmp 0x46cbea
push ecx
call fcn.00498130
add esp, 4
push esi
push 1
sub esp, 0x10
lea edx, [esp + 0xd0]
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
push edi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0xdc], 0x2f
call fcn.0041b230
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
mov eax, dword [esp + 0x50]
cmp eax, esi
je 0x46cc62
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cc59
cmp al, 0xff
je 0x46cc59
dec al
mov byte [ecx], al
jmp 0x46cc62
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], esi
cmp eax, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
je 0x46cc93
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cc8a
cmp al, 0xff
je 0x46cc8a
dec al
mov byte [ecx], al
jmp 0x46cc93
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov byte [esp + 0xb0], 3
call fcn.00475a40
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 2
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x46ccf7
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ccee
cmp al, 0xff
je 0x46ccee
dec al
mov byte [ecx], al
jmp 0x46ccf7
push ecx
call fcn.00498130
add esp, 4
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
jmp 0x46d1ad
push 1
push 0x4c4538
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4548]
call fcn.0043efc0
cmp ax, si
jne 0x46ce89
push 0x1d
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push esi
push 1
sub esp, 0x10
lea eax, [esp + 0xd0]
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00475910
push edi
call fcn.00477540
sub esp, 8
lea edx, [esp + 0x38]
mov edi, esp
mov dword [esp + 0x54], esp
push ecx
mov byte [esp + 0xdc], 0x32
mov ecx, esp
mov dword [esp + 0x58], esp
push edx
call fcn.00475910
push edi
call fcn.00477540
add esp, 8
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
mov eax, dword [esp + 0x50]
cmp eax, esi
je 0x46cdc9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cdc0
cmp al, 0xff
je 0x46cdc0
dec al
mov byte [ecx], al
jmp 0x46cdc9
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], esi
cmp eax, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
je 0x46cdfa
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46cdf1
cmp al, 0xff
je 0x46cdf1
dec al
mov byte [ecx], al
jmp 0x46cdfa
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov byte [esp + 0xb0], 3
call fcn.00475a40
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 2
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x46ce5e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46ce55
cmp al, 0xff
je 0x46ce55
dec al
mov byte [ecx], al
jmp 0x46ce5e
push ecx
call fcn.00498130
add esp, 4
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb0], 0xffffffff
call fcn.00475a40
xor ax, ax
jmp 0x46d1c8
cmp ax, 1
jne 0x46cf15
push esi
mov ecx, 0x4c4538
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x34]
call fcn.00475ae0
lea ecx, [esp + 0x30]
call fcn.00475d00
movsx eax, ax
sub eax, 2
xor ebp, ebp
cdq
sub eax, edx
mov edi, eax
sar edi, 1
cmp di, si
jle 0x46cf15
mov esi, 3
lea eax, [esi - 1]
lea ecx, [esp + 0x30]
push eax
call fcn.00475c70
xor bx, bx
push esi
mov bl, al
lea ecx, [esp + 0x34]
shl ebx, 8
call fcn.00475c70
xor cx, cx
mov cl, al
add ebx, ecx
cmp bx, word [esp + 0x84]
je 0x46d1e3
inc ebp
add esi, 2
cmp bp, di
jl 0x46ced6
xor esi, esi
push 0x4c4510
lea ecx, [esp + 0x18]
call fcn.00475680
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x5c]
push ecx
push 0x4bccd8
push edx
call fcn.0041c900
push 0x4bccd4
push eax
lea eax, [esp + 0x4c]
mov bl, 0x3a
push eax
mov byte [esp + 0xc8], bl
call fcn.0043cdb0
add esp, 0x18
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0x3b
call fcn.00475540
lea ecx, [esp + 0x38]
mov byte [esp + 0xb0], bl
call fcn.0041b410
lea ecx, [esp + 0x5c]
mov byte [esp + 0xb0], 6
call fcn.0041b410
push 0x4bca14
lea ecx, [esp + 0x18]
call fcn.00475800
push 0x15
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0x3c
call fcn.00475730
lea ecx, [esp + 0x38]
mov byte [esp + 0xb0], 6
call fcn.0041b410
push 0x4bca14
lea ecx, [esp + 0x18]
call fcn.00475800
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0x3d
call fcn.00475730
lea ecx, [esp + 0x38]
mov byte [esp + 0xb0], 6
call fcn.0041b410
push 0x4bccd0
lea ecx, [esp + 0x18]
call fcn.00475800
push 0x1c
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0x3e
call fcn.00475730
lea ecx, [esp + 0x38]
mov byte [esp + 0xb0], 6
call fcn.0041b410
push 0x4bca14
lea ecx, [esp + 0x18]
call fcn.00475800
push 0x17
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x98]
push eax
call fcn.00477540
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xb4], 0x3f
call fcn.00475730
lea ecx, [esp + 0x94]
mov byte [esp + 0xb0], 6
call fcn.0041b410
push esi
push 1
sub esp, 0x10
lea edx, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0xdc], 0x40
call fcn.0041b230
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xb0], 5
call fcn.0041b410
lea ecx, [esp + 0x6c]
call fcn.0045b960
lea ecx, [esp + 0x30]
mov byte [esp + 0xb0], 3
call fcn.00475a40
mov byte [esp + 0xb0], 2
lea ecx, [esp + 0x28]
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
lea ecx, [esp + 0x14]
mov byte [esp + 0xb0], 0
call fcn.0041b410
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb0], 0xffffffff
call fcn.00475a40
mov ax, 1
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa4
ret 4
mov edi, 0x4c4510
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x18]
push ebx
call fcn.0041c2e0
test al, al
je 0x46d229
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
mov esi, 0x4c4510
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + eax], 0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x38]
push ecx
push 0x4bccd8
push edx
xor esi, esi
call fcn.0041c900
push 0x4bccd4
push eax
lea eax, [esp + 0x70]
mov byte [esp + 0xc4], 0x33
push eax
call fcn.0043cdb0
add esp, 0x18
mov ecx, dword [0x4ad134]
mov byte [esp + 0xb0], 0x34
push ecx
push esi
push eax
lea ecx, [esp + 0x20]
call fcn.0041b7e0
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x46d299
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d290
cmp al, 0xff
je 0x46d290
dec al
mov byte [ecx], al
jmp 0x46d299
push ecx
call fcn.00498130
add esp, 4
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], esi
cmp eax, esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov byte [esp + 0xb0], 6
je 0x46d2d2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d2c9
cmp al, 0xff
je 0x46d2c9
dec al
mov byte [ecx], al
jmp 0x46d2d2
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x4ad134]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, ebp
ja 0x46d2f8
call fcn.0049813b
test ebp, ebp
jbe 0x46d33f
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46d33f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
push 0x15
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov esi, eax
mov ecx, dword [0x4ad134]
mov eax, dword [esi + 8]
mov ebx, ecx
mov byte [esp + 0xb0], 0x35
cmp eax, ebx
jae 0x46d385
mov ebx, eax
sub ecx, dword [esp + 0x1c]
cmp ecx, ebx
ja 0x46d392
call fcn.0049813b
test ebx, ebx
jbe 0x46d3de
mov ecx, dword [esp + 0x1c]
push 0
lea ebp, [ebx + ecx]
lea ecx, [esp + 0x18]
push ebp
call fcn.0041c2e0
test al, al
je 0x46d3de
mov esi, dword [esi + 4]
test esi, esi
jne 0x46d3b9
mov esi, 0x4ad138
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
push ebp
lea edi, [eax + edx]
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]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
test ecx, ecx
je 0x46d409
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x46d400
cmp al, 0xff
je 0x46d400
dec al
mov byte [ecx], al
jmp 0x46d409
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x4ad134]
not ecx
dec ecx
sub eax, edx
mov ebp, ecx
cmp eax, ebp
ja 0x46d42e
call fcn.0049813b
test ebp, ebp
jbe 0x46d475
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46d475
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
push 0x18
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov esi, eax
mov ecx, dword [0x4ad134]
mov eax, dword [esi + 8]
mov ebx, ecx
mov byte [esp + 0xb0], 0x36
cmp eax, ebx
jae 0x46d4bb
mov ebx, eax
sub ecx, dword [esp + 0x1c]
cmp ecx, ebx
ja 0x46d4c8
call fcn.0049813b
test ebx, ebx
jbe 0x46d514
mov ecx, dword [esp + 0x1c]
push 0
lea ebp, [ebx + ecx]
lea ecx, [esp + 0x18]
push ebp
call fcn.0041c2e0
test al, al
je 0x46d514
mov esi, dword [esi + 4]
test esi, esi
jne 0x46d4ef
mov esi, 0x4ad138
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
push ebp
lea edi, [eax + edx]
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]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
test ecx, ecx
je 0x46d53f
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x46d536
cmp al, 0xff
je 0x46d536
dec al
mov byte [ecx], al
jmp 0x46d53f
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bccd0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x4ad134]
not ecx
dec ecx
sub eax, edx
mov ebp, ecx
cmp eax, ebp
ja 0x46d564
call fcn.0049813b
test ebp, ebp
jbe 0x46d5ab
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46d5ab
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bccd0
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
push 0x1b
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov esi, eax
mov ecx, dword [0x4ad134]
mov eax, dword [esi + 8]
mov ebx, ecx
mov byte [esp + 0xb0], 0x37
cmp eax, ebx
jae 0x46d5f1
mov ebx, eax
sub ecx, dword [esp + 0x1c]
cmp ecx, ebx
ja 0x46d5fe
call fcn.0049813b
test ebx, ebx
jbe 0x46d64a
mov ecx, dword [esp + 0x1c]
push 0
lea ebp, [ebx + ecx]
lea ecx, [esp + 0x18]
push ebp
call fcn.0041c2e0
test al, al
je 0x46d64a
mov esi, dword [esi + 4]
test esi, esi
jne 0x46d625
mov esi, 0x4ad138
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
push ebp
lea edi, [eax + edx]
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]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
test ecx, ecx
je 0x46d675
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x46d66c
cmp al, 0xff
je 0x46d66c
dec al
mov byte [ecx], al
jmp 0x46d675
push ecx
call fcn.00498130
add esp, 4
mov edi, 0x4bca14
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x1c]
repne scasb al, byte es:[edi]
mov eax, dword [0x4ad134]
not ecx
dec ecx
sub eax, edx
mov ebp, ecx
cmp eax, ebp
ja 0x46d69a
call fcn.0049813b
test ebp, ebp
jbe 0x46d6e1
mov eax, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x18]
lea ebx, [eax + ebp]
push ebx
call fcn.0041c2e0
test al, al
je 0x46d6e1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, 0x4bca14
lea edi, [edx + ecx]
mov ecx, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
push 0x16
push 5
lea ecx, [esp + 0x18]
call fcn.00475c80
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00475910
lea eax, [esp + 0x3c]
push eax
call fcn.00477540
add esp, 8
mov esi, eax
mov eax, dword [0x4ad134]
mov ecx, dword [esi + 8]
mov ebx, eax
mov byte [esp + 0xb0], 0x38
cmp ecx, ebx
jae 0x46d726
mov ebx, ecx
sub eax, dword [esp + 0x1c]
cmp eax, ebx
ja 0x46d733
call fcn.0049813b
xor edi, edi
cmp ebx, edi
jbe 0x46d782
mov ecx, dword [esp + 0x1c]
push edi
lea ebp, [ebx + ecx]
lea ecx, [esp + 0x18]
push ebp
call fcn.0041c2e0
test al, al
je 0x46d782
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x46d75b
mov esi, 0x4ad138
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, ebx
push ebp
lea edi, [eax + edx]
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]
lea ecx, [esp + 0x18]
call fcn.0041c2c0
xor edi, edi
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0xb0], 6
cmp ecx, edi
je 0x46d7ad
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x46d7a4
cmp al, 0xff
je 0x46d7a4
dec al
mov byte [ecx], al
jmp 0x46d7ad
push ecx
call fcn.00498130
add esp, 4
push edi
push 1
sub esp, 0x10
lea eax, [esp + 0xd0]
mov esi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00475910
push esi
call fcn.00477540
sub esp, 8
lea edx, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
mov byte [esp + 0xdc], 0x39
call fcn.0041b230
mov ecx, 0x4c45b8
mov byte [esp + 0xd8], 6
call fcn.0047a9a0
mov eax, dword [esp + 0x50]
cmp eax, edi
je 0x46d825
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x46d81c
cmp al, 0xff
je 0x46d81c
dec al
mov byte [ecx], al
jmp 0x46d825
push ecx
call fcn.00498130
add esp, 4
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x50], edi
cmp ecx, edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
je 0x46d854
mov al, byte [ecx - 1]
dec ecx
test al, al
je 0x46d84b
cmp al, 0xff
je 0x46d84b
dec al
mov byte [ecx], al
jmp 0x46d854
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov byte [esp + 0xb0], 3
call fcn.00475a40
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 2
call fcn.00475a40
lea ecx, [esp + 0x10]
mov byte [esp + 0xb0], 1
call fcn.00475a40
mov eax, dword [esp + 0x18]
mov byte [esp + 0xb0], 0
cmp eax, edi
je 0x46d8ee
push eax
lea ecx, [esp + 0x18]
call fcn.0043cd90
cmp byte [eax], 0
je 0x46d8d7
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push eax
call fcn.0043cd90
cmp byte [eax], 0xff
je 0x46d8d7
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x18]
call fcn.0043cd90
dec byte [eax]
jmp 0x46d8ee
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add edx, 2
dec eax
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.0043cda0
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
jmp 0x46d1ad