Function at 0x431c40
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x5bb204]
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, 0x1465
movzx eax, word [edi + 0x62ab6a]
push eax
call fcn.0048a330
push 0x3f
lea ecx, [ebp - 0x83]
push 0
push ecx
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x84], 0
call fcn.00549550
mov eax, dword [0x5b78cc]
add eax, 0xfffffc00
cdq
sub eax, edx
add esp, 0x10
sar eax, 1
mov dword [ebp - 0x8c], eax
jns 0x431cb2
mov dword [ebp - 0x8c], 0
mov eax, dword [0x5b78d0]
add eax, 0xfffffd00
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x9c], eax
jns 0x431cd3
mov dword [ebp - 0x9c], 0
cmp ebx, dword [0x5b7788]
jne 0x431ce8
xor eax, eax
mov dword [ebp - 0x90], eax
lea ebx, [eax + 0x10]
jmp 0x431cfd
mov dword [ebp - 0x90], 0x10000000
mov eax, dword [ebp - 0x90]
mov ebx, 8
cmp dword [edi + 0x62aaac], 0
push 0
push 0
push 0
push 0
push eax
jne 0x431d36
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
push str.ShapeMenucharNoDataFrm.shp
push esi
call fcn.004f7e70
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00549540
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.004f7e70
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 + 0x62aab0]
mov dword [ebp - 0x9c], ecx
add ecx, 0xb
push ecx
push eax
call fcn.004a7960
add esp, 0x3c
test dword [edi + 0x62abfd], 0x4000000
je 0x431e54
mov eax, dword [edi + 0x62ab4b]
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 0x431df3
push ecx
push 0x4ff0
call fcn.004856b0
add esp, 4
push eax
lea edx, [ebp - 0x44]
push edx
jmp 0x431e25
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jle 0x431e12
push ecx
push 0x4ff1
call fcn.004856b0
add esp, 4
push eax
lea eax, [ebp - 0x44]
push eax
jmp 0x431e25
push eax
push 0x4ff3
call fcn.004856b0
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.004fa5d0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
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 + 0x62aadd]
push edx
push esi
call fcn.004f7cb0
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 + 0x62bee9]
push ecx
push esi
call fcn.004f7cb0
mov eax, dword [ebp - 0x9c]
mov edx, dword [0x62a858]
movzx ecx, word [edi + 0x62ab53]
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.0045e5f0
mov ecx, dword [ebp - 0x98]
sub dword [ebp - 0x88], 7
add esp, 0x30
test ecx, ecx
jg 0x432090
movzx eax, word [edi + 0x62ab53]
mov edx, dword [edi + 0x62ab3d]
push eax
mov dword [ebp - 0x8c], edx
call fcn.0047a8b0
push eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x8c]
push eax
push 0x64
call fcn.00440ec0
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x8c]
push 0
push ecx
push edx
mov dword [ebp - 0x88], eax
call fcn.00440f20
fmul qword [0x59ca28]
call fcn.005496d0
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.004f7e70
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 0x4322a5
jmp 0x4321c6
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.0045e5f0
add esp, 0x30
cmp dword [ebp - 0x8c], 1
jne 0x432274
mov ecx, dword [esi + 0xc]
mov edx, dword [0x62a85c]
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.0045e5f0
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 0x4321c0
test ecx, ecx
jg 0x4321c0
mov edx, dword [edi + 0x62ab31]
mov eax, dword [edi + 0x62ab29]
push edx
push eax
push str._d__d
push 0x694c44
call dword [sym.imp.USER32.dll_wsprintfA]
movzx edx, byte [edi + 0x62aaba]
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.004f7e70
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 0x694c44
push esi
call fcn.004f7cb0
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 0x694c44
push esi
call fcn.004f7cb0
add esp, 0x34
cmp word [edi + 0x62ab47], 0
jbe 0x43246c
push 0x59ded8
call fcn.0057d730
movzx ecx, word [edi + 0x62ab47]
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.004f7dd0
add esp, 0x28
fld qword [0x62e838]
fadd qword [0x59ded0]
fst qword [0x62e838]
fld qword [0x59dec8]
fst qword [0x62e830]
fld qword [0x59dec0]
fst qword [0x62e828]
fld1
fcomp st(3)
fnstsw ax
test ah, 0x41
jp 0x4323f5
fstp st(2)
fldz
fst qword [0x62e838]
fxch st(2)
sub esp, 0x18
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004e0950
movzx ecx, word [edi + 0x62ab47]
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 0x59c660
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.004fa5d0
add esp, 0x54
push str.ShapeMenuSkillfill_one.SHP
call fcn.0057d730
movzx edx, word [edi + 0x62ab49]
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 0x432540
jmp 0x4324b6
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.0045e5f0
movzx ecx, word [edi + 0x62ab49]
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 0x4324b0
mov ecx, dword [edi + 0x62ab35]
mov edx, dword [edi + 0x62ab2d]
push ecx
push edx
push str._d__d
push 0x694c44
call dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, byte [edi + 0x62aabb]
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.004f7e70
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 0x694c44
push esi
call fcn.004f7cb0
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 0x694c44
push esi
call fcn.004f7cb0
mov eax, dword [ebp - 0xa8]
add esp, 0x34
test eax, eax
je 0x432631
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.004856b0
add esp, 4
push eax
push esi
call fcn.004f7cb0
add esp, 0x34
movzx edx, byte [edi + 0x62b95a]
movzx eax, byte [edi + 0x62ab55]
push edx
push eax
call fcn.004f9d50
add esp, 8
test eax, eax
je 0x432681
cmp byte [eax], 0
je 0x432681
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.004f7cb0
add esp, 0x34
movzx ecx, word [edi + 0x62ac19]
mov eax, dword [ebp + 0x14]
push ecx
add eax, 0x110
push 0x59c660
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
movzx eax, word [edi + 0x62ac1b]
add esp, 0x40
push eax
push 0x59c660
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
movzx edx, word [edi + 0x62ac21]
add esp, 0x40
push edx
push 0x59c660
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
movzx edx, word [edi + 0x62ac1d]
mov ecx, dword [ebp + 0x10]
add esp, 0x40
push edx
add ecx, 0xc3
push 0x59c660
mov dword [ebp - 0x88], ecx
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
movzx edx, word [edi + 0x62ac1f]
add esp, 0x40
push edx
push 0x59c660
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
movzx edx, word [edi + 0x62ac23]
add esp, 0x40
push edx
push 0x59c660
push 0x694c44
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 0x694c44
push esi
call fcn.004f7cb0
mov ecx, dword [ebp - 4]
add esp, 0x40
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00549540
mov esp, ebp
pop ebp
ret