Function at 0x4320a0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x5c43dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ebx
imul edi, edi, 0x15b3
movzx eax, word [edi + 0x6344ca]
push eax
call fcn.0048b280
push 0x3f
lea ecx, [ebp - 0x83]
push 0
push ecx
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x84], 0
call fcn.005517e0
mov eax, dword [0x5c08ec]
add eax, 0xfffffc00
cdq
sub eax, edx
add esp, 0x10
sar eax, 1
mov dword [ebp - 0x8c], eax
jns 0x432112
mov dword [ebp - 0x8c], 0
mov eax, dword [0x5c08f0]
add eax, 0xfffffd00
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x9c], eax
jns 0x432133
mov dword [ebp - 0x9c], 0
cmp ebx, dword [0x5c07a8]
jne 0x432148
xor eax, eax
mov dword [ebp - 0x90], eax
lea ebx, [eax + 0x10]
jmp 0x43215d
mov dword [ebp - 0x90], 0x10000000
mov eax, dword [ebp - 0x90]
mov ebx, 8
cmp dword [edi + 0x6343bc], 0
push 0
push 0
push 0
push 0
push eax
jne 0x432196
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
push str.ShapeMenucharNoDataFrm.shp
push esi
call fcn.004f9610
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push str.ShapeMenucharSelFrm.shp
push esi
call fcn.004f9610
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add ecx, dword [ebp - 0x8c]
push edx
mov edx, dword [ebp - 0x90]
push 0
mov dword [ebp - 0xa4], eax
push edx
add eax, 0xd
push eax
mov eax, dword [edi + 0x6343c0]
mov dword [ebp - 0x9c], ecx
add ecx, 0xb
push ecx
push eax
call fcn.004a8960
add esp, 0x3c
test dword [edi + 0x634567], 0x4000000
je 0x4322b4
mov eax, dword [edi + 0x6344ab]
cdq
mov ecx, 0x15180
idiv ecx
mov ecx, 0xe10
mov dword [ebp - 0x98], eax
mov eax, edx
cdq
idiv ecx
mov dword [ebp - 0x8c], eax
mov ecx, edx
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [ebp - 0x98]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
test ecx, ecx
jle 0x432253
push ecx
push 0x4ff0
call fcn.004865f0
add esp, 4
push eax
lea edx, [ebp - 0x44]
push edx
jmp 0x432285
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jle 0x432272
push ecx
push 0x4ff1
call fcn.004865f0
add esp, 4
push eax
lea eax, [ebp - 0x44]
push eax
jmp 0x432285
push eax
push 0x4ff3
call fcn.004865f0
add esp, 4
push eax
lea ecx, [ebp - 0x44]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp + 0x10]
add esp, 0xc
push 3
push 1
push 2
push 2
push 1
push 0
push 0x64
push 0x10e
push 0x14
push edx
lea eax, [ebp - 0x44]
push eax
push esi
call fcn.004fbce0
add esp, 0x30
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
push 0x34
add ecx, 0xce
push ecx
add eax, 0x11
push eax
push 0x4ed1
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0xed
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x4ef8
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x10c
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3d
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x12b
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3e
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x14a
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x11
push eax
push 0x3f
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
push 0x34
add ecx, 0x10c
push ecx
add eax, 0x8c
push eax
push 0x40
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
add eax, 0x12b
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x8c
push eax
push 0x41
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
add esp, 0x34
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x1a
mov eax, dword [ebp + 0x14]
add eax, 0x14a
push 0x34
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x8c
push eax
push 0x42
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x7a
add eax, 0xd
push eax
add ecx, 0x3e
push ecx
lea edx, [edi + 0x6343ed]
push edx
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x5a
add eax, 0xd
push eax
mov eax, dword [ebp + 0x10]
add eax, 0xb2
push eax
lea ecx, [edi + 0x635947]
push ecx
push esi
call fcn.004f9450
mov eax, dword [ebp - 0x9c]
mov edx, dword [0x634078]
movzx ecx, word [edi + 0x6344b3]
add esp, 0x34
add eax, 0x25
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x88], eax
lea esp, [esp]
push 0
mov eax, 0x66666667
imul ecx
push 0
push 0
sar edx, 2
push 0
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0xc]
push 0
push 0
mov dword [ebp - 0x98], eax
push 0
push edx
mov edx, dword [ebp - 0xa0]
lea eax, [eax + eax*4]
add eax, eax
sub edx, eax
mov eax, dword [ebp - 0xa4]
add edx, ecx
mov ecx, dword [ebp - 0x90]
push edx
add eax, 0x89
push eax
mov eax, dword [ebp - 0x88]
push eax
push ecx
call fcn.0045eed0
mov ecx, dword [ebp - 0x98]
sub dword [ebp - 0x88], 7
add esp, 0x30
test ecx, ecx
jg 0x4324f0
movzx eax, word [edi + 0x6344b3]
mov edx, dword [edi + 0x63449d]
push eax
mov dword [ebp - 0x8c], edx
call fcn.0047b690
push eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x8c]
push eax
push 0x64
call fcn.00441720
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
push 0
push ecx
push edx
mov dword [ebp - 0x88], eax
call fcn.00441780
fmul qword [0x5b3888]
call fcn.00551960
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp + 0x14]
push 0x64
push ecx
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x90]
push 0
or eax, 0x1000000
push 0
push eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0x10]
add edx, 0x89
push edx
add eax, 0x2e
push eax
push str.ShapeMenuLvl_Bar.shp
push esi
call fcn.004f9610
mov ecx, dword [ebp - 0x9c]
add ecx, 0xf4
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x94]
add esp, 0x40
mov dword [ebp - 0x8c], 0
test ecx, ecx
js 0x432705
jmp 0x432626
mov ecx, dword [ebp - 0x94]
mov eax, 0x66666667
imul ecx
push 0
push 0
sar edx, 2
push 0
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esi + 0xc]
push 0
mov dword [ebp - 0x94], eax
push 0
lea eax, [eax + eax*4]
push 0
add eax, eax
sub ecx, eax
add ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
push 0
push edx
mov edx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x88]
add eax, 0x89
push eax
push ecx
push edx
call fcn.0045eed0
add esp, 0x30
cmp dword [ebp - 0x8c], 1
jne 0x4326d4
mov ecx, dword [esi + 0xc]
mov edx, dword [0x63407c]
mov eax, dword [ebp - 0x88]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp - 0xa4]
push edx
sub eax, 3
add ecx, 0x89
push ecx
push eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x90]
push eax
call fcn.0045eed0
add esp, 0x30
sub dword [ebp - 0x88], 2
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
sub dword [ebp - 0x88], 6
inc eax
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x8c], eax
cmp eax, 3
jl 0x432620
test ecx, ecx
jg 0x432620
mov edx, dword [edi + 0x634491]
mov eax, dword [edi + 0x634489]
push edx
push eax
push str._d__d
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
movzx edx, byte [edi + 0x6343ca]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push 0x64
push edx
mov edx, dword [ebp - 0x98]
push 0
push 0
push edx
add eax, 0x5c
push eax
add ecx, 0x14
push ecx
push str.ShapeMenuHP_Bar.shp
push esi
call fcn.004f9610
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 9
push 0
push 1
push 0xf
push 0xc2
add ecx, 0x5d
push ecx
add eax, 0x2a
push eax
push 0x69267c
push esi
call fcn.004f9450
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0xf
push 0xc2
add eax, 0x5c
push eax
add ecx, 0x29
push ecx
push 0x69267c
push esi
call fcn.004f9450
add esp, 0x34
cmp word [edi + 0x6344a7], 0
jbe 0x4328cc
push 0x5a5f08
call fcn.00585e90
movzx ecx, word [edi + 0x6344a7]
mov dword [ebp - 0x8c], eax
mov eax, 0x10624dd3
imul ecx
mov ecx, dword [ebp - 0x8c]
push 0x64
push 0x64
sar edx, 5
push 0
mov eax, edx
add ecx, edx
mov edx, dword [ebp + 0x14]
push 0
shr eax, 0x1f
add eax, ecx
mov ecx, dword [ebp + 0x10]
push 0x1000000
add edx, 0x25
push edx
add ecx, 0x43
push ecx
push eax
push esi
call fcn.004f9570
add esp, 0x28
fld qword [0x638538]
fadd qword [0x5a5f00]
fst qword [0x638538]
fld qword [0x5a5ef8]
fst qword [0x638530]
fld qword [0x5a5ef0]
fst qword [0x638528]
fld1
fcomp st(3)
fnstsw ax
test ah, 0x41
jp 0x432855
fstp st(2)
fldz
fst qword [0x638538]
fxch st(2)
sub esp, 0x18
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004e1bb0
movzx ecx, word [edi + 0x6344a7]
mov dword [ebp - 0x8c], eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [ebp - 0x84]
push 0x5a4658
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp + 0x14]
push 4
push 1
push 2
push edx
push 0
push 1
push 0x14
push 0x28
add eax, 0x2f
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x43
push eax
lea ecx, [ebp - 0x84]
push ecx
push esi
call fcn.004fbce0
add esp, 0x54
push str.ShapeMenuSkillfill_one.SHP
call fcn.00585e90
movzx edx, word [edi + 0x6344a9]
mov dword [ebp - 0xa0], eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
xor ecx, ecx
add eax, edx
add esp, 4
mov dword [ebp - 0x94], ecx
test eax, eax
jle 0x4329a0
jmp 0x432916
mov ecx, dword [ebp - 0x94]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, dword [ebp - 0x9c]
lea ecx, [edx + ecx + 0x71]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0xa4]
lea eax, [eax + edx*2 + 0x42]
lea edx, [eax + 0x64]
push edx
lea edx, [ecx + 0x64]
push edx
mov edx, dword [esi + 0xc]
push eax
push ecx
push 0
push 0
push 0
push edx
mov edx, dword [ebp - 0xa0]
push edx
push eax
push ecx
push 0x1000000
call fcn.0045eed0
movzx ecx, word [edi + 0x6344a9]
inc dword [ebp - 0x94]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x30
cmp dword [ebp - 0x94], eax
jl 0x432910
mov ecx, dword [edi + 0x634495]
mov edx, dword [edi + 0x63448d]
push ecx
push edx
push str._d__d
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, byte [edi + 0x6343cb]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp + 0x14]
push 0x64
push eax
mov eax, dword [ebp + 0x10]
push 0
push 0
push ecx
add edx, 0x6d
push edx
add eax, 0x14
push eax
push str.ShapeMenuMP_Bar.shp
push esi
call fcn.004f9610
mov eax, dword [ebp + 0x14]
push ebx
push 4
push 1
push 2
push 9
push 0
push 1
push 0xc
push 0xc2
add eax, 0x6f
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x2a
push eax
push 0x69267c
push esi
call fcn.004f9450
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
add esp, 0x68
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0xc
push 0xc2
add ecx, 0x6e
push ecx
add eax, 0x29
push eax
push 0x69267c
push esi
call fcn.004f9450
mov eax, dword [ebp - 0xa8]
add esp, 0x34
test eax, eax
je 0x432a91
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 4]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x82
add edx, 0xd2
push edx
add ecx, 0x48
push ecx
push eax
call fcn.004865f0
add esp, 4
push eax
push esi
call fcn.004f9450
add esp, 0x34
movzx edx, byte [edi + 0x6353b8]
movzx eax, byte [edi + 0x6344b5]
push edx
push eax
call fcn.004fb500
add esp, 8
test eax, eax
je 0x432ae1
cmp byte [eax], 0
je 0x432ae1
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x82
add ecx, 0xf1
push ecx
add edx, 0x48
push edx
push eax
push esi
call fcn.004f9450
add esp, 0x34
movzx ecx, word [edi + 0x634583]
mov eax, dword [ebp + 0x14]
push ecx
add eax, 0x110
push 0x5a4658
push 0x69267c
mov dword [ebp - 0x90], eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
push edx
add eax, 0x48
push eax
push 0x69267c
push esi
call fcn.004f9450
movzx eax, word [edi + 0x634585]
add esp, 0x40
push eax
push 0x5a4658
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp + 0x10]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add ecx, 0x1f
push ecx
add eax, 0x48
push eax
push 0x69267c
push esi
call fcn.004f9450
movzx edx, word [edi + 0x63458b]
add esp, 0x40
push edx
push 0x5a4658
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x90]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x3e
push eax
mov eax, dword [ebp + 0x10]
add eax, 0x48
push eax
push 0x69267c
push esi
call fcn.004f9450
movzx edx, word [edi + 0x634587]
mov ecx, dword [ebp + 0x10]
add esp, 0x40
push edx
add ecx, 0xc3
push 0x5a4658
mov dword [ebp - 0x88], ecx
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
push eax
push ecx
push 0x69267c
push esi
call fcn.004f9450
movzx edx, word [edi + 0x634589]
add esp, 0x40
push edx
push 0x5a4658
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x1f
push eax
push ecx
push 0x69267c
push esi
call fcn.004f9450
movzx edx, word [edi + 0x63458d]
add esp, 0x40
push edx
push 0x5a4658
push 0x69267c
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x88]
push ebx
push 4
push 1
push 2
push 1
push 0
push 1
push 0x12
push 0x37
add eax, 0x3e
push eax
push ecx
push 0x69267c
push esi
call fcn.004f9450
mov ecx, dword [ebp - 4]
add esp, 0x40
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005517d0
mov esp, ebp
pop ebp
ret