Function at 0x40a4be
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
push edi
xor ebx, ebx
lea eax, [ebp - 0x70]
push 0x34
push ebx
push eax
mov dword [ebp - 0x20], ebx
call fcn.00403ca5
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x34], ebx
cmp eax, 3
jb 0x40a50f
cmp byte [ebx], 0xef
jne 0x40a50f
cmp byte [ebx + 1], 0xbb
jne 0x40a50f
cmp byte [ebx + 2], 0xbf
jne 0x40a50f
add ebx, 3
sub eax, 3
mov dword [ebp - 0x34], ebx
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x64]
fld qword [0x41b648]
add eax, ebx
mov dword [ebp - 0x1c], eax
or eax, 0xffffffff
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x6c], eax
sub eax, 8
sub dword [ebp - 0x6c], 8
mov dword [ebp - 0x68], eax
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
and dword [ebp - 0x14], 0
xor edi, edi
and dword [ebp - 0x18], edi
xor esi, esi
push 8
pop edx
mov dword [ebp + 0x10], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x48], ebx
cmp ebx, dword [ebp - 0x1c]
jne 0x40a568
xor cl, cl
jmp 0x40a56a
mov cl, byte [ebx]
mov byte [ebp + 0xf], cl
test dl, 0x20
je 0x40a8af
test cl, cl
je 0x40b0cd
cmp edi, dword [ebp - 0x6c]
ja 0x40b0cd
test dl, 0x10
je 0x40a866
and edx, 0xffffffef
movsx eax, cl
mov dword [ebp - 8], edx
fstp st(0)
sub eax, 0x62
je 0x40a84f
sub eax, 4
je 0x40a83f
sub eax, 8
je 0x40a82f
sub eax, 4
je 0x40a81f
dec eax
sub eax, 1
je 0x40a80f
sub eax, 1
je 0x40a5d6
mov eax, dword [ebp - 0x4c]
jmp 0x40a92e
mov eax, dword [ebp - 0x1c]
sub eax, ebx
cmp eax, 4
jle 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx eax, byte [ebx]
push eax
call fcn.0040a432
mov byte [ebp + 0xf], al
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx ecx, byte [ebx]
push ecx
call fcn.0040a432
mov byte [ebp + 0x13], al
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx ecx, byte [ebx]
push ecx
call fcn.0040a432
mov byte [ebp + 0xb], al
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx ecx, byte [ebx]
push ecx
call fcn.0040a432
mov byte [ebp - 1], al
pop ecx
cmp al, 0xff
je 0x40b0cf
mov al, byte [ebp + 0xf]
movzx ecx, byte [ebp + 0x13]
shl al, 4
movzx esi, al
mov al, byte [ebp + 0xb]
or esi, ecx
shl al, 4
mov ecx, esi
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x28], esi
movzx eax, byte [ebp - 1]
or ecx, eax
mov eax, ecx
mov dword [ebp - 0x28], ecx
and eax, 0xf800
cmp eax, 0xd800
jne 0x40a73f
mov eax, dword [ebp - 0x1c]
sub eax, ebx
cmp eax, 6
jle 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x5c
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x75
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx eax, byte [ebx]
push eax
call fcn.0040a432
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx eax, byte [ebx]
push eax
call fcn.0040a432
mov byte [ebp + 0xf], al
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx ecx, byte [ebx]
push ecx
call fcn.0040a432
mov byte [ebp + 0x13], al
pop ecx
cmp al, 0xff
je 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
movzx ecx, byte [ebx]
push ecx
call fcn.0040a432
mov byte [ebp + 0xb], al
pop ecx
cmp al, 0xff
je 0x40b0cf
mov esi, dword [ebp - 0x28]
movzx ecx, byte [ebp + 0xf]
and esi, 0x3bf
mov al, byte [ebp + 0x13]
or esi, 0x40
and ecx, 3
shl esi, 2
or esi, ecx
shl al, 4
mov ecx, esi
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x28], esi
movzx eax, byte [ebp + 0xb]
or ecx, eax
mov eax, dword [ebp - 0x4c]
cmp ecx, 0x7f
ja 0x40a75d
test eax, eax
jne 0x40a751
mov esi, dword [ebp - 0x14]
mov byte [edi + esi], cl
inc edi
mov esi, dword [ebp - 0xc]
mov dword [ebp + 0x10], edi
jmp 0x40b0a6
cmp ecx, 0x7ff
ja 0x40a790
test eax, eax
je 0x40a76e
add edi, 2
jmp 0x40a752
mov esi, dword [ebp - 0x14]
mov eax, ecx
shr eax, 6
and cl, 0x3f
or al, 0xc0
or cl, 0x80
mov byte [edi + esi], al
mov byte [edi + esi + 1], cl
add edi, 2
mov dword [ebp + 0x10], edi
jmp 0x40b0a0
cmp ecx, 0xffff
ja 0x40a7ca
test eax, eax
je 0x40a7a1
add edi, 3
jmp 0x40a752
mov esi, dword [ebp - 0x14]
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov byte [edi + esi], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or cl, 0x80
or al, 0x80
mov byte [edi + esi + 1], al
mov byte [edi + esi + 2], cl
add edi, 3
jmp 0x40a788
test eax, eax
je 0x40a7d6
add edi, 4
jmp 0x40a752
mov esi, dword [ebp - 0x14]
mov eax, ecx
shr eax, 0x12
or al, 0xf0
mov byte [edi + esi], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [edi + esi + 1], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or cl, 0x80
or al, 0x80
mov byte [edi + esi + 2], al
mov byte [edi + esi + 3], cl
add edi, 4
jmp 0x40a788
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a85d
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], 9
jmp 0x40a85d
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a85d
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], 0xd
jmp 0x40a85d
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a85d
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], 0xa
jmp 0x40a85d
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a85d
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], 0xc
jmp 0x40a85d
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a85d
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], 8
inc edi
mov dword [ebp + 0x10], edi
jmp 0x40b0a6
cmp cl, 0x5c
jne 0x40a878
or edx, 0x10
fstp st(0)
mov dword [ebp - 8], edx
jmp 0x40b0a6
cmp cl, 0x22
jne 0x40a92c
test eax, eax
jne 0x40a88c
mov eax, dword [ebp - 0x14]
mov byte [edi + eax], 0
mov eax, dword [esi + 4]
and edx, 0xffffffdf
and dword [ebp - 0x14], 0
mov dword [ebp - 8], edx
sub eax, 1
je 0x40a8f0
sub eax, 4
mov eax, dword [ebp - 0x4c]
jne 0x40a8af
or edx, 1
mov dword [esi + 8], edi
mov dword [ebp - 8], edx
test byte [ebp - 0x60], 1
je 0x40a9d2
test edx, 0x6000
je 0x40a98b
test edx, 0x2000
je 0x40a944
fstp st(0)
cmp cl, 0xd
je 0x40a8e1
cmp cl, 0xa
je 0x40a8e1
test cl, cl
jne 0x40b0a6
and edx, 0xffffdfff
dec ebx
mov dword [ebp - 8], edx
jmp 0x40b0a6
cmp dword [ebp - 0x4c], 0
fstp st(0)
je 0x40a900
lea eax, [edi + 1]
add dword [esi + 0xc], eax
jmp 0x40a921
imul edx, dword [esi + 8], 0xc
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov dword [edx + ecx], eax
imul ecx, dword [esi + 8], 0xc
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 8]
mov dword [ecx + eax + 4], edi
lea eax, [edi + 1]
add dword [esi + 0x10], eax
or edx, 0x48
mov dword [ebp - 8], edx
jmp 0x40b0a3
fstp st(0)
test eax, eax
jne 0x40a85d
mov esi, dword [ebp - 0x14]
mov byte [edi + esi], cl
mov esi, dword [ebp - 0xc]
jmp 0x40a85d
test edx, 0x4000
je 0x40a9d2
fstp st(0)
test cl, cl
je 0x40b0cf
cmp cl, 0x2a
jne 0x40b0a6
mov eax, dword [ebp - 0x1c]
dec eax
cmp ebx, eax
jae 0x40b0a3
cmp byte [ebx + 1], 0x2f
mov eax, dword [ebp - 0x4c]
jne 0x40b0a6
and edx, 0xffffbfff
inc ebx
mov dword [ebp - 8], edx
jmp 0x40b0a6
cmp cl, 0x2f
jne 0x40a9d2
fstp st(0)
test dl, 0x88
jne 0x40a9a1
cmp dword [esi + 4], 1
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp ebx, dword [ebp - 0x1c]
je 0x40b0cf
mov al, byte [ebx]
cmp al, 0x2a
je 0x40a9c7
cmp al, 0x2f
jne 0x40b0cf
or edx, 0x2000
jmp 0x40a924
or edx, 0x4000
jmp 0x40a924
test dl, dl
jns 0x40aa14
test cl, cl
je 0x40b0b2
movsx eax, cl
fstp st(0)
sub eax, 9
je 0x40b0a3
sub eax, 1
je 0x40aa08
sub eax, 3
je 0x40b0a3
sub eax, 0x13
jne 0x40b0cf
jmp 0x40b0a3
inc dword [ebp - 0x44]
and dword [ebp - 0x40], 0
jmp 0x40b0a3
test dl, 8
je 0x40ad62
movsx eax, cl
fstp st(0)
sub eax, 9
je 0x40b0a3
sub eax, 1
je 0x40aa08
sub eax, 3
je 0x40b0a3
sub eax, 0x13
je 0x40b0a3
sub eax, 0x3d
je 0x40ad45
test dl, 4
je 0x40aa61
cmp cl, 0x2c
jne 0x40b0cf
and edx, 0xfffffffb
jmp 0x40a924
test dl, 0x40
je 0x40aa77
cmp cl, 0x3a
jne 0x40b0cf
and edx, 0xffffffbf
jmp 0x40a924
and edx, 0xfffffff7
mov dword [ebp - 8], edx
cmp cl, 0x22
je 0x40ad01
cmp cl, 0x5b
je 0x40acc8
cmp cl, 0x66
je 0x40ac4d
cmp cl, 0x6e
je 0x40ac14
cmp cl, 0x74
je 0x40aba1
cmp cl, 0x7b
je 0x40ab6e
cmp cl, 0x30
jl 0x40aabd
cmp cl, 0x39
jle 0x40aac6
cmp cl, 0x2d
jne 0x40b0cf
push 3
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
cmp dword [ebp - 0x4c], 0
mov ebx, dword [ebp - 0x48]
jne 0x40ab36
mov al, byte [ebp + 0xf]
mov edi, dword [ebp - 0x1c]
cmp al, 0x30
jl 0x40aaff
cmp al, 0x39
jle 0x40ab13
cmp al, 0x2b
je 0x40ab13
cmp al, 0x2d
je 0x40ab13
cmp al, 0x65
je 0x40ab13
cmp al, 0x45
je 0x40ab13
cmp al, 0x2e
jne 0x40ab1f
inc ebx
mov dword [ebp - 0x48], ebx
cmp ebx, edi
je 0x40ab1f
mov al, byte [ebx]
jmp 0x40aaf7
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
or edx, 3
mov edi, dword [ebp + 0x10]
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], esi
jmp 0x40b01f
mov edx, dword [ebp - 8]
and dword [ebp - 0x24], 0
and edx, 0xffffe0ff
and dword [ebp - 0x3c], 0
and dword [ebp - 0x38], 0
and dword [ebp - 0x30], 0
cmp byte [ebp + 0xf], 0x2d
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0xc], esi
je 0x40ab63
or edx, 2
jmp 0x40afa0
or edx, 0x100
jmp 0x40a924
push 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
mov esi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x48]
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], esi
jmp 0x40b0a3
mov eax, dword [ebp - 0x1c]
sub eax, ebx
cmp eax, 3
jl 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x72
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x75
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x65
jne 0x40b0cf
push 6
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
mov esi, dword [ebp - 0x10]
xor eax, eax
mov edx, dword [ebp - 8]
inc eax
mov ebx, dword [ebp - 0x48]
or edx, eax
mov dword [ebp - 0xc], esi
mov dword [esi + 8], eax
mov dword [ebp - 8], edx
jmp 0x40b01f
mov eax, dword [ebp - 0x1c]
sub eax, ebx
cmp eax, 3
jl 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x75
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x6c
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x6c
jne 0x40b0cf
push 7
jmp 0x40ac91
mov eax, dword [ebp - 0x1c]
sub eax, ebx
cmp eax, 4
jl 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x61
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x6c
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x73
jne 0x40b0cf
inc ebx
mov dword [ebp - 0x48], ebx
cmp byte [ebx], 0x65
jne 0x40b0cf
push 6
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
or edx, 1
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], esi
jmp 0x40b01f
push 2
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
or edx, 8
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], esi
jmp 0x40b0a3
push 5
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0040b1b3
add esp, 0x14
test eax, eax
je 0x40b0cf
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x48]
or edx, 0x20
xor edi, edi
mov dword [ebp - 8], edx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0x10], edi
jmp 0x40b0a3
test esi, esi
je 0x40b0cf
cmp dword [esi + 4], 2
jne 0x40b0cf
and edx, 0xfffffff3
or edx, 1
jmp 0x40afa0
lea eax, [esi + 4]
mov esi, dword [eax]
mov dword [ebp + 8], eax
cmp esi, 1
je fcn.0040afa5
lea eax, [esi - 3]
cmp eax, 1
ja 0x40b01a
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x40ae4d
mov eax, dword [ebp - 0x24]
fstp st(0)
inc eax
mov dword [ebp - 0x24], eax
cmp esi, 3
je 0x40add4
test edx, 0x400
jne 0x40ae2f
push 0
push 0xa
push dword [ebp - 0x38]
movsx eax, cl
push dword [ebp - 0x3c]
sub eax, 0x30
cdq
mov esi, eax
mov edi, edx
call fcn.0040b2a0
add esi, eax
mov dword [ebp - 0x3c], esi
adc edi, edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp + 0x10]
jmp 0x40b0a0
test edx, 0x400
jne 0x40ae2f
mov esi, 0x200
test esi, edx
jne 0x40b0cf
cmp eax, 1
jne 0x40adf8
cmp cl, 0x30
jne 0x40adf8
or edx, esi
mov dword [ebp - 8], edx
movsx eax, cl
sub eax, 0x30
cdq
mov edx, dword [ecx - 1]
mov ch, pe_nt_image_headers32
std
invalid
push 0x30
call fcn.0040afed
add esp, 0x10
cmp dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x224]
je 0x40aec5
test eax, eax
jle 0x40aec5
mov ecx, esi
into
dec eax
mov dword [ebp - 0x23c], eax
movzx eax, word [ecx]
add ecx, 2
push eax
push 6
lea eax, [ebp - 0xc]
mov dword [ebp - 0x27c], ecx
push eax
lea eax, [ebp - 0x260]
push eax
call 0x41378e
add esp, 0x10
test eax, eax
jne 0x40aeba
cmp dword [ebp - 0x260], eax
je 0x40aeba
push dword [ebp - 0x258]
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x230]
lea eax, [ebp - 0xc]
push dword [ebp - 0x260]
push eax
call fcn.0040b019
mov eax, dword [ebp - 0x23c]
add esp, 0x14
mov ecx, dword [ebp - 0x27c]
test eax, eax
jne 0x40ae4e
jmp 0x40aee2
or ecx, 0xffffffff
mov dword [ebp - 0x220], ecx
jmp 0x40aee8
push dword [ebp - 0x258]
lea ecx, [ebp - 0x220]
push ecx
push dword [ebp - 0x230]
push eax
push esi
call fcn.0040b019
add esp, 0x14
mov ecx, dword [ebp - 0x220]
test ecx, ecx
js 0x40af0f
test bl, 4
je 0x40af0f
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x230]
push edi
push 0x20
call fcn.0040afed
add esp, 0x10
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x40af2e
push eax
call fcn.00405ac4
xor eax, eax
pop ecx
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x210]
mov dl, byte [eax]
mov byte [ebp - 0x211], dl
mov byte [ebp - 0x248], dl
test dl, dl
jne 0x40a562
mov eax, ecx
cmp byte [ebp - 0x264], 0
pop edi
pop esi
pop ebx
je 0x40af62
mov ecx, dword [ebp - 0x268]
and dword [ecx + 0x70], 0xfffffffd
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040526a
mov esp, ebp
pop ebp
ret
add byte [eax + ebp*4], ch
inc eax
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x18]
push edi
mov edi, dword [ebp + 0x10]
sbb byte [edi - 0x75], dl
jge 0x40b034
mov eax, dword [esi]
mov dword [ebp + 0x18], eax
test byte [edi + 0xc], 0x40
je 0x40b03f
cmp dword [edi + 8], 0
jne 0x40b03f
or cl, byte [ebx + 0x458b144d]
or al, 1
add ebx, ebp
dec esi
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
add dword [ecx], eax
jmp 0x40b08d
and dword [esi], 0
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
jle 0x40b08a
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 8]
dec ebx
push edi
movzx eax, byte [eax]
push eax
call fcn.0040afa5
mov eax, dword [ebp + 0x14]
add esp, 0xc
inc dword [ebp + 8]
cmp dword [eax], 0xffffffff
jne 0x40b07e
cmp dword [esi], 0x2a
jne 0x40b082
push eax
push edi
push 0x3f
call fcn.0040afa5
mov eax, dword [ebp + 0x14]
add esp, 0xc
test ebx, ebx
jg 0x40b04d
cmp dword [esi], 0
jne 0x40b08c
mov eax, dword [ebp + 0x18]
mov dword [esi], eax
pop ebx
pop edi
pop esi
pop ebp
ret
sal byte [ecx + ecx - 0x75], cl
dec ebp
adc byte [ebp - 0x77e98a37], al
push cs
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x40b0c0
mov byte [esi], cl
call fcn.0040805b
push 0x16
push ss
pop esi
mov dword [eax], esi
call fcn.0040a29b
mov eax, esi
pop esi
pop ebp
ret
push edi
mov edi, esi
sub edi, ecx
mov al, byte [ecx]
mov byte [edi + ecx], al
inc ecx
test al, al
je 0x40b0d2
dec edx
jne 0x40b0c5
pop edi
test edx, edx
jne 0x40b0e2
mov byte [esi], dl
call fcn.0040805b
push 0x22
jmp 0x40b0b3
xor eax, eax
jmp 0x40b0bd