Function at 0x473210
Capabilities:
Encode data using base64

Disassembly:
push ebp
lea ebp, [esp - 0x190]
sub esp, 0x190
push 0xffffffffffffffff
push 0x63bcf3
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x6eed24]
xor eax, ebp
mov dword [ebp + 0x18c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 0x198]
lea ebx, [ecx + 0x48]
mov esi, dword [ebp + 0x19c]
mov dword [ebp - 0x54], eax
mov eax, 0x7dd
mov word [ecx + 0x94], 0
mov dword [ecx + 0x8c], 0
mov dword [ecx + 0x90], 0
mov dword [ecx + 0x84], 0
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x80], 0
mov word [ecx + 0x78], ax
lea eax, [ecx + 0x60]
mov dword [ecx + 0x7a], 0x7dd0101
mov word [ecx + 0x7e], 0x101
mov dword [eax + 4], 0
cmp dword [ebx + 0x14], 0x10
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x28], esi
jb 0x4732cc
mov eax, dword [ebx]
lea edx, [ecx + 0x30]
mov dword [ebx + 0x10], 0
mov byte [eax], 0
mov eax, edx
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x68], edx
jb 0x4732e6
mov eax, dword [edx]
mov dword [edx + 0x10], 0
xor edx, edx
mov word [eax], dx
lea edx, [ecx + 0x18]
cmp dword [edx + 0x14], 8
mov eax, edx
mov dword [ebp - 0x64], edx
jb 0x473302
mov eax, dword [edx]
mov dword [edx + 0x10], 0
xor edx, edx
mov word [eax], dx
lea eax, [ecx + 0x6c]
mov dword [ebp - 0x6c], eax
mov dword [eax + 4], edx
test esi, esi
jns 0x473335
mov esi, dword [ebp - 0x54]
test esi, esi
je 0x473330
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x473325
sub esi, ecx
jmp 0x473332
xor esi, esi
mov dword [ebp - 0x28], esi
mov ecx, dword [ebx + 0x10]
lea eax, [esi + 0x10]
mov dword [ebp - 4], 0
cmp eax, ecx
ja 0x473359
cmp dword [ebx + 0x14], 0x10
mov ecx, ebx
jb 0x473350
mov ecx, dword [ebx]
mov dword [ebx + 0x10], eax
mov byte [ecx + eax], 0
jmp 0x473365
sub eax, ecx
mov ecx, ebx
push 0
push eax
call fcn.00475380
lea ecx, [ebp + 0x124]
mov dword [ebp - 4], 0xffffffff
call fcn.00452360
push esi
push dword [ebp - 0x54]
lea ecx, [ebp + 0x124]
mov dword [ebp - 4], 2
call fcn.00452bb0
push 4
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp + 0x124]
call fcn.00452bb0
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 8
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp + 0x124]
call fcn.00452bb0
cmp dword [ebx + 0x14], 0x10
mov edi, ebx
jb 0x4733c3
mov edi, dword [ebx]
lea ecx, [ebp + 0x124]
call fcn.004523a0
lea edx, [edi + 0x10]
xor ebx, ebx
mov dword [ebp - 0x20], edx
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
xor ecx, ecx
mov eax, dword [eax + 0xc]
mov dword [edi + 0xc], eax
test esi, esi
jle 0x473461
mov eax, dword [ebp - 0x54]
mov al, byte [eax + ebx]
mov byte [ebx + edx], al
cmp al, 0x2d
je 0x473461
lea ecx, [ecx + ecx*8]
shl ecx, 2
cmp al, 0x30
jl 0x473549
cmp al, 0x39
jg 0x473416
add ecx, 0xffffffd0
jmp 0x47343a
cmp al, 0x41
jl 0x473549
cmp al, 0x5a
jg 0x473427
add ecx, 0xffffffc9
jmp 0x47343a
cmp al, 0x61
jl 0x473549
cmp al, 0x7a
jg 0x473549
add ecx, 0xffffffa9
movsx eax, al
inc ebx
add ecx, eax
mov eax, 0x3d491811
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [ebp - 0x20]
shr eax, 0x19
imul eax, eax, 0xfcc5ca9f
add ecx, eax
cmp ebx, esi
jl 0x4733f2
add ecx, 0x8b
inc ebx
mov dword [ebp - 0x38], ecx
cmp ebx, esi
jge 0x473549
sub esi, ebx
je 0x473484
push esi
call fcn.004463f0
add esp, 4
mov esi, eax
jmp 0x473486
xor esi, esi
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 3
test esi, esi
jne 0x4734c6
lea ecx, [ebp + 0x124]
call fcn.00403120
mov eax, 0x8007000e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x18c]
xor ecx, ebp
call fcn.004b2558
lea esp, [ebp + 0x190]
pop ebp
ret 8
mov edx, dword [ebp - 0x28]
xor edi, edi
jmp 0x4734d0
mov eax, dword [ebp - 0x54]
mov cl, byte [eax + ebx]
mov eax, dword [ebp - 0x20]
mov byte [ebx + eax], cl
cmp cl, 0x3d
je 0x473536
test cl, cl
js 0x4734ea
cmp cl, 0x20
jle 0x47352f
mov al, cl
sub al, 0x61
cmp al, 0x19
ja 0x4734fa
sub cl, 0x47
mov byte [edi + esi], cl
jmp 0x47352e
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x47350a
sub cl, 0x41
mov byte [edi + esi], cl
jmp 0x47352e
mov al, cl
sub al, 0x30
cmp al, 9
ja 0x47351a
add cl, 4
mov byte [edi + esi], cl
jmp 0x47352e
cmp cl, 0x2b
jne 0x473525
mov byte [edi + esi], 0x3e
jmp 0x47352e
cmp cl, 0x2f
jne 0x473537
mov byte [edi + esi], 0x3f
inc edi
inc ebx
cmp ebx, edx
jl 0x4734d0
jmp 0x473537
inc ebx
cmp edi, 3
jae 0x47355e
mov byte [ebp - 4], 5
push esi
call fcn.00446420
add esp, 4
lea ecx, [ebp + 0x124]
call fcn.00403120
mov eax, 0x80070057
jmp 0x4734a1
lea ecx, [ebp]
call fcn.00431460
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 6
cmp dword [ecx + 0x5c], 0x10
lea eax, [ecx + 0x48]
jb 0x473579
mov eax, dword [ecx + 0x48]
push 0x10
push eax
lea ecx, [ebp]
call fcn.004d6190
mov eax, dword [ebp - 0x20]
lea ecx, [ebp]
push ebx
push eax
push eax
call fcn.004d6230
mov ecx, dword [ebp - 0x2c]
add ebx, 0x10
add ecx, 0x48
mov byte [ebp - 4], 7
mov eax, dword [ecx + 0x10]
cmp ebx, eax
ja 0x4735b9
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x4735b0
mov eax, dword [ecx]
mov dword [ecx + 0x10], ebx
mov byte [eax + ebx], 0
jmp 0x4735c3
push 0
sub ebx, eax
push ebx
call fcn.00475380
mov dword [ebp - 4], 6
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
lea eax, [edi + edi*2]
mov byte [ebp - 4], 9
add eax, eax
lea ecx, [ebp - 0x48]
push eax
call fcn.00474f50
test al, al
jne 0x473623
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xa
test eax, eax
je 0x473609
push eax
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
push esi
mov byte [ebp - 4], 0xb
call fcn.00446420
add esp, 4
jmp 0x473491
mov ebx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x28], eax
test edi, edi
je 0x4736d4
mov dl, byte [eax + esi]
movzx ecx, dl
and dl, 1
mov eax, ecx
mov byte [ebp - 0x4b], dl
shr eax, 5
and al, 1
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x50], al
mov eax, ecx
shr eax, 4
and al, 1
mov byte [ebp - 0x4f], al
mov eax, ecx
shr eax, 3
and al, 1
mov byte [ebp - 0x4e], al
mov eax, ecx
shr eax, 2
and al, 1
shr ecx, 1
and cl, 1
mov byte [ebp - 0x4d], al
lea eax, [ebx + 6]
mov byte [ebp - 0x4c], cl
push eax
lea ecx, [ebp - 0x48]
call fcn.00474f50
mov ebx, dword [ebp - 0x44]
test al, al
je 0x4736c5
lea eax, [ebx + 6]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x40], eax
jb 0x4736c5
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x48]
add ecx, edx
mov dword [ebp - 0x20], ecx
cmp edx, ebx
jae 0x4736b2
sub ebx, edx
lea eax, [ecx + 6]
push ebx
push ecx
push eax
call fcn.004b4200
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov ax, word [ebp - 0x4c]
mov word [ecx + 4], ax
mov dword [ebp - 0x44], ebx
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, edi
jb 0x473633
mov eax, ebx
and eax, 7
jbe 0x4736e0
sub ebx, eax
mov dword [ebp - 0x44], ebx
push dword [ebp - 0x38]
lea eax, [ebp - 0x48]
push eax
call fcn.00475200
add esp, 8
test al, al
jne 0x473721
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0xc
test eax, eax
je 0x473707
push eax
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
push esi
mov byte [ebp - 4], 0xd
call fcn.00446420
add esp, 4
jmp 0x473491
mov ebx, dword [ebp - 0x44]
mov edi, ebx
shr edi, 3
push edi
push 0
push esi
mov dword [ebp - 0x28], edi
call fcn.004b40a0
xor ecx, ecx
add esp, 0xc
test ebx, ebx
mov dword [ebp - 0x20], ecx
mov ebx, dword [ebp - 0x48]
je 0x473774
mov eax, ecx
mov edi, ecx
and eax, 7
shr edi, 3
mov ecx, 7
sub ecx, eax
mov eax, dword [ebp - 0x20]
mov dl, byte [edi + esi]
mov al, byte [ebx + eax]
shl al, cl
mov ecx, dword [ebp - 0x20]
or al, dl
inc ecx
mov byte [edi + esi], al
mov dword [ebp - 0x20], ecx
cmp ecx, dword [ebp - 0x44]
jb 0x473744
mov edi, dword [ebp - 0x28]
mov eax, 1
xor cl, cl
xor dl, dl
xor ch, ch
cmp edi, eax
jbe 0x4737ac
dec edi
cmp edi, 2
jb 0x47379e
lea esp, [esp]
add cl, byte [esi + eax]
add dl, byte [esi + eax + 1]
add eax, 2
cmp eax, edi
jb 0x473790
mov edi, dword [ebp - 0x28]
cmp eax, edi
jae 0x4737a8
mov ch, byte [eax + esi]
add cl, dl
add ch, cl
cmp byte [esi], ch
je 0x4737d2
mov byte [ebp - 4], 0xe
test ebx, ebx
je 0x4737c1
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0xf
jmp 0x473540
xor cl, cl
mov byte [ebp - 0x21], 0
xor ah, ah
mov byte [ebp - 0x22], 0
mov edx, 1
mov byte [ebp - 0x13], ah
mov byte [ebp - 0x2d], ah
mov byte [ebp - 0x12], cl
mov byte [ebp - 0x2e], cl
mov byte [ebp - 0x2f], cl
mov byte [ebp - 0x30], cl
mov byte [ebp - 0x31], cl
mov byte [ebp - 0x32], cl
mov byte [ebp - 0x19], cl
cmp edi, edx
jbe 0x474061
mov al, byte [edx + esi]
lea edx, [edx + 1]
test al, al
jns 0x474025
test al, 4
jne 0x474003
movzx ecx, al
mov eax, 1
mov edi, ecx
and ecx, 3
shr edi, 3
shl eax, cl
and edi, 0xf
cmp eax, 4
ja 0x473fe1
lea ecx, [eax + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x28]
ja 0x473fbf
push eax
lea eax, [edx + esi]
push eax
call fcn.00474ef0
add esp, 8
mov dword [ebp - 0x50], eax
test eax, eax
je 0x473f9d
xor eax, eax
dec edi
mov dword [ebp - 0x3c], eax
mov byte [ebp - 0x11], al
cmp edi, 0xa
ja case.default.0x473873
jmp dword [edi*4 + 0x474110]
mov dword [ebp - 0x38], 1
jmp 0x4738ee
mov dword [ebp - 0x38], 2
jmp 0x4738ee
mov byte [ebp - 0x11], 1
mov eax, 1
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x3c], eax
jmp 0x4738ee
mov eax, 1
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x3c], eax
jmp 0x4738ee
mov eax, 1
jmp 0x4738e4
mov byte [ebp - 0x11], 1
mov eax, 2
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x3c], eax
jmp 0x4738ee
mov eax, 2
mov dword [ebp - 0x38], 2
mov dword [ebp - 0x3c], eax
jmp 0x4738ee
mov eax, 2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 4
mov edi, dword [ebp - 0x18]
lea ecx, [eax + edi]
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [ebp - 0x28]
ja 0x473f59
mov ecx, 1
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x473927
push eax
lea eax, [edi + esi]
push eax
call fcn.00474ef0
mov edi, dword [ebp - 0x5c]
mov ecx, eax
mov eax, dword [ebp - 0x3c]
add esp, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edi
mov edx, dword [ebp - 0x38]
imul ecx, edx
add ecx, edi
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [ebp - 0x28]
ja 0x473f37
mov ecx, dword [ebp - 0x50]
xor edi, edi
add ecx, 0xfffffffe
cmp ecx, 0xa
ja case.default.0x47394c
jmp dword [ecx*4 + 0x47413c]
test eax, eax
jne 0x473dc1
cmp byte [ebp - 0x11], al
jne 0x473dc1
mov eax, dword [ebp - 0x18]
add eax, esi
cmp byte [ebp - 0x22], 0
jne 0x473d84
mov ecx, dword [ebp - 0x2c]
push edx
push eax
mov byte [ebp - 0x22], 1
mov dword [ecx + 0x80], edi
call fcn.00474ef0
mov edi, eax
lea eax, [ebp + 0x114]
and edi, 0x3fff
push edi
push eax
call fcn.00473030
add esp, 0x10
test al, al
je 0x473d84
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x80], edi
mov edi, dword [ebp - 0x2c]
mov ax, word [ebp + 0x114]
mov word [edi + 0x7c], ax
mov al, byte [ebp + 0x116]
mov byte [edi + 0x7e], al
mov al, byte [ebp + 0x11a]
mov byte [edi + 0x7f], al
jmp 0x473d6d
test eax, eax
jne 0x473de3
cmp byte [ebp - 0x11], al
jne 0x473de3
mov eax, dword [ebp - 0x18]
add eax, esi
cmp byte [ebp - 0x21], 0
jne 0x473d84
push edx
push eax
mov byte [ebp - 0x21], 1
call fcn.00474ef0
and eax, 0x3fff
push eax
lea eax, [ebp + 0x104]
push eax
call fcn.00473030
add esp, 0x10
test al, al
je 0x473d84
mov ecx, dword [ebp - 0x2c]
mov ax, word [ebp + 0x104]
mov word [ecx + 0x78], ax
mov al, byte [ebp + 0x106]
mov byte [ecx + 0x7a], al
mov al, byte [ebp + 0x10a]
mov byte [ecx + 0x7b], al
jmp 0x473d6d
test eax, eax
jne case.default.0x473a5f
cmp byte [ebp - 0x11], al
jne case.default.0x473a5f
cmp byte [ebp - 0x12], al
jne case.default.0x473a5f
lea eax, [edx - 1]
jmp dword [eax*4 + 0x474168]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [ecx + esi]
mov dword [eax + 0x84], ecx
mov cl, 1
mov byte [ebp - 0x12], cl
jmp 0x473d70
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + esi]
mov ch, al
mov cl, ah
mov eax, dword [ebp - 0x2c]
movzx ecx, cx
mov dword [eax + 0x84], ecx
mov cl, 1
mov byte [ebp - 0x12], cl
jmp 0x473d70
test eax, eax
jne case.default.0x473b04
cmp byte [ebp - 0x11], al
jne case.default.0x473b04
cmp byte [ebp - 0x13], al
jne case.default.0x473b04
lea eax, [edx - 1]
jmp dword [eax*4 + 0x474178]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ecx + esi]
jmp 0x473b48
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + esi]
mov ch, al
mov cl, ah
movzx ecx, cx
jmp 0x473b48
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x8c], ecx
mov ah, 1
mov cl, byte [ebp - 0x12]
mov byte [ebp - 0x13], ah
jmp 0x473d73
cmp byte [ebp - 0x11], 0
je 0x473e49
cmp edx, 1
jne 0x473e49
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + esi]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x31]
push eax
push dword [ebp - 0x2c]
call fcn.00474d00
add esp, 0x10
mov edi, eax
jmp case.default.0x47394c
cmp byte [ebp - 0x11], 0
je 0x473e6b
cmp edx, 1
jne 0x473e6b
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + esi]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x19]
push eax
push dword [ebp - 0x64]
call fcn.00474d00
add esp, 0x10
mov edi, eax
jmp case.default.0x47394c
cmp byte [ebp - 0x11], 0
je 0x473e8d
cmp edx, 1
jne 0x473e8d
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + esi]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x32]
push eax
push dword [ebp - 0x68]
call fcn.00474d00
add esp, 0x10
mov edi, eax
jmp case.default.0x47394c
cmp byte [ebp - 0x11], 0
jne 0x473eaf
test eax, eax
je 0x473eaf
mov ecx, dword [ebp - 0x18]
push edx
lea eax, [ecx + esi]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x2f]
push eax
push dword [ebp - 0x6c]
call fcn.00474c60
add esp, 0x14
mov edi, eax
jmp case.default.0x47394c
cmp byte [ebp - 0x11], 0
jne 0x473ed1
test eax, eax
je 0x473ed1
mov ecx, dword [ebp - 0x18]
push edx
lea eax, [ecx + esi]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x58]
call fcn.00474c60
add esp, 0x14
mov edi, eax
jmp case.default.0x47394c
test eax, eax
jne case.default.0x473c7a
cmp byte [ebp - 0x11], al
jne case.default.0x473c7a
cmp byte [ebp - 0x2d], al
jne case.default.0x473c7a
lea eax, [edx - 1]
jmp dword [eax*4 + 0x474188]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x2d], 1
movzx ecx, byte [ecx + esi]
mov dword [eax + 0x90], ecx
jmp 0x473d6d
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 0x2d], 1
mov ax, word [ecx + esi]
mov ch, al
mov cl, ah
mov eax, dword [ebp - 0x2c]
movzx ecx, cx
mov dword [eax + 0x90], ecx
jmp 0x473d6d
test eax, eax
jne case.default.0x473d18
cmp byte [ebp - 0x11], al
jne case.default.0x473d18
cmp byte [ebp - 0x2e], al
jne case.default.0x473d18
lea eax, [edx - 1]
jmp dword [eax*4 + 0x474198]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ecx + esi]
jmp 0x473d5c
mov ecx, dword [ebp - 0x18]
mov ax, word [ecx + esi]
mov ch, al
mov cl, ah
movzx ecx, cx
jmp 0x473d5c
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x2e], 1
mov dword [eax + 0x88], ecx
test edi, edi
js 0x473d89
mov cl, byte [ebp - 0x12]
mov ah, byte [ebp - 0x13]
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x28]
jb 0x473806
jmp 0x47402b
mov edi, 0x80070057
mov byte [ebp - 4], 0x36
test ebx, ebx
je 0x473d9a
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
push esi
mov byte [ebp - 4], 0x37
call fcn.00446420
add esp, 4
lea ecx, [ebp + 0x124]
call fcn.00403120
mov eax, edi
jmp 0x4734a1
mov byte [ebp - 4], 0x20
test ebx, ebx
je 0x473dd2
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x21
jmp 0x473540
mov byte [ebp - 4], 0x22
test ebx, ebx
je 0x473df4
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x23
jmp 0x473540
mov byte [ebp - 4], 0x24
test ebx, ebx
je 0x473e16
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x25
jmp 0x473540
mov byte [ebp - 4], 0x26
test ebx, ebx
je 0x473e38
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x27
jmp 0x473540
mov byte [ebp - 4], 0x28
test ebx, ebx
je 0x473e5a
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x29
jmp 0x473540
mov byte [ebp - 4], 0x2a
test ebx, ebx
je 0x473e7c
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x2b
jmp 0x473540
mov byte [ebp - 4], 0x2c
test ebx, ebx
je 0x473e9e
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x2d
jmp 0x473540
mov byte [ebp - 4], 0x2e
test ebx, ebx
je 0x473ec0
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x2f
jmp 0x473540
mov byte [ebp - 4], 0x30
test ebx, ebx
je 0x473ee2
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x31
jmp 0x473540
mov byte [ebp - 4], 0x32
test ebx, ebx
je 0x473f04
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x33
jmp 0x473540
mov byte [ebp - 4], 0x34
test ebx, ebx
je 0x473f26
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x35
jmp 0x473540
mov byte [ebp - 4], 0x1e
test ebx, ebx
je 0x473f48
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x1f
jmp 0x473540
mov byte [ebp - 4], 0x1c
test ebx, ebx
je 0x473f6a
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x1d
jmp 0x473540
mov byte [ebp - 4], 0x18
test ebx, ebx
je 0x473f8c
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x19
jmp 0x473540
mov byte [ebp - 4], 0x16
test ebx, ebx
je 0x473fae
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x17
jmp 0x473540
mov byte [ebp - 4], 0x14
test ebx, ebx
je 0x473fd0
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x15
jmp 0x473540
mov byte [ebp - 4], 0x12
test ebx, ebx
je 0x473ff2
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x13
jmp 0x473540
mov byte [ebp - 4], 0x10
test ebx, ebx
je 0x474014
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
mov byte [ebp - 4], 0x11
jmp 0x473540
mov cl, byte [ebp - 0x12]
mov ah, byte [ebp - 0x13]
cmp byte [ebp - 0x21], 0
je 0x474061
cmp byte [ebp - 0x22], 0
je 0x474061
test ah, ah
je 0x474061
test cl, cl
je 0x474061
cmp byte [ebp - 0x2f], 0
je 0x474061
cmp byte [ebp - 0x30], 0
je 0x474061
cmp byte [ebp - 0x31], 0
je 0x474061
cmp byte [ebp - 0x32], 0
je 0x474061
cmp byte [ebp - 0x19], 0
je 0x474061
mov al, 1
jmp 0x474063
xor al, al
mov edi, dword [ebp - 0x2c]
mov byte [ebp - 0x19], al
mov byte [edi + 0x94], al
test al, al
je 0x47409b
mov eax, dword [edi + 0x8c]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
push dword [0x6626e0]
push 0x65bff0
call fcn.00473160
add esp, 0xc
test eax, eax
js 0x47409b
mov al, 1
jmp 0x47409d
xor al, al
mov byte [edi + 0x95], al
xor eax, eax
cmp byte [ebp - 0x19], al
setne al
dec eax
and eax, 0x80070057
mov dword [ebp - 0x58], eax
mov byte [ebp - 4], 0x38
test ebx, ebx
je 0x4740c5
push ebx
call fcn.00446420
add esp, 4
lea ecx, [ebp]
call fcn.00403120
push esi
mov byte [ebp - 4], 0x39
call fcn.00446420
add esp, 4
lea ecx, [ebp + 0x124]
call fcn.00403120
mov eax, dword [ebp - 0x58]
jmp 0x4734a1
jmp 0x473210