Function at 0x432180
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x5c53dc]
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, 0x1603
movzx eax, word [edi + 0x63560a]
push eax
call fcn.0048ad30
push 0x3f
lea ecx, [ebp - 0x83]
push 0
push ecx
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x84], 0
call fcn.00551e50
mov eax, dword [0x5c18ec]
add eax, 0xfffffc00
cdq
sub eax, edx
add esp, 0x10
sar eax, 1
mov dword [ebp - 0x8c], eax
jns 0x4321f2
mov dword [ebp - 0x8c], 0
mov eax, dword [0x5c18f0]
add eax, 0xfffffd00
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x9c], eax
jns 0x432213
mov dword [ebp - 0x9c], 0
cmp ebx, dword [0x5c17a8]
jne 0x432228
xor eax, eax
mov dword [ebp - 0x90], eax
lea ebx, [eax + 0x10]
jmp 0x43223d
mov dword [ebp - 0x90], 0x10000000
mov eax, dword [ebp - 0x90]
mov ebx, 8
cmp dword [edi + 0x6354fc], 0
push 0
push 0
push 0
push 0
push eax
jne 0x432276
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
push str.ShapeMenucharNoDataFrm.shp
push esi
call fcn.004f9460
add esp, 0x24
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00551e40
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.004f9460
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 + 0x635500]
mov dword [ebp - 0x9c], ecx
add ecx, 0xb
push ecx
push eax
call fcn.004a8930
add esp, 0x3c
test dword [edi + 0x6356a7], 0x4000000
je 0x432394
mov eax, dword [edi + 0x6355eb]
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 0x432333
push ecx
push 0x4ff0
call fcn.00486120
add esp, 4
push eax
lea edx, [ebp - 0x44]
push edx
jmp 0x432365
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jle 0x432352
push ecx
push 0x4ff1
call fcn.00486120
add esp, 4
push eax
lea eax, [ebp - 0x44]
push eax
jmp 0x432365
push eax
push 0x4ff3
call fcn.00486120
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.004fbb60
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
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 + 0x63552d]
push edx
push esi
call fcn.004f92a0
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 + 0x636ad7]
push ecx
push esi
call fcn.004f92a0
mov eax, dword [ebp - 0x9c]
mov edx, dword [0x6351b8]
movzx ecx, word [edi + 0x6355f3]
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.0045ee90
mov ecx, dword [ebp - 0x98]
sub dword [ebp - 0x88], 7
add esp, 0x30
test ecx, ecx
jg 0x4325d0
movzx eax, word [edi + 0x6355f3]
mov edx, dword [edi + 0x6355dd]
push eax
mov dword [ebp - 0x8c], edx
call fcn.0047b3a0
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 [0x5a5a20]
call fcn.00551fd0
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.004f9460
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 0x4327e5
jmp 0x432706
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.0045ee90
add esp, 0x30
cmp dword [ebp - 0x8c], 1
jne 0x4327b4
mov ecx, dword [esi + 0xc]
mov edx, dword [0x6351bc]
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.0045ee90
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 0x432700
test ecx, ecx
jg 0x432700
mov edx, dword [edi + 0x6355d1]
mov eax, dword [edi + 0x6355c9]
push edx
push eax
push str._d__d
push 0x69ef3c
call dword [sym.imp.USER32.dll_wsprintfA]
movzx edx, byte [edi + 0x63550a]
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.004f9460
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 0x69ef3c
push esi
call fcn.004f92a0
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 0x69ef3c
push esi
call fcn.004f92a0
add esp, 0x34
cmp word [edi + 0x6355e7], 0
jbe 0x4329ac
push 0x5a6f10
call fcn.00586540
movzx ecx, word [edi + 0x6355e7]
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.004f93c0
add esp, 0x28
fld qword [0x639768]
fadd qword [0x5a6f08]
fst qword [0x639768]
fld qword [0x5a6f00]
fst qword [0x639760]
fld qword [0x5a6ef8]
fst qword [0x639758]
fld1
fcomp st(3)
fnstsw ax
test ah, 0x41
jp 0x432935
fstp st(2)
fldz
fst qword [0x639768]
fxch st(2)
sub esp, 0x18
fstp qword [esp + 0x10]
fstp qword [esp + 8]
fstp qword [esp]
call fcn.004e1a70
movzx ecx, word [edi + 0x6355e7]
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 0x5a5660
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.004fbb60
add esp, 0x54
push str.ShapeMenuSkillfill_one.SHP
call fcn.00586540
movzx edx, word [edi + 0x6355e9]
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 0x432a80
jmp 0x4329f6
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.0045ee90
movzx ecx, word [edi + 0x6355e9]
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 0x4329f0
mov ecx, dword [edi + 0x6355d5]
mov edx, dword [edi + 0x6355cd]
push ecx
push edx
push str._d__d
push 0x69ef3c
call dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, byte [edi + 0x63550b]
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.004f9460
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 0x69ef3c
push esi
call fcn.004f92a0
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 0x69ef3c
push esi
call fcn.004f92a0
mov eax, dword [ebp - 0xa8]
add esp, 0x34
test eax, eax
je 0x432b71
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.00486120
add esp, 4
push eax
push esi
call fcn.004f92a0
add esp, 0x34
movzx edx, byte [edi + 0x6364f8]
movzx eax, byte [edi + 0x6355f5]
push edx
push eax
call fcn.004fb380
add esp, 8
test eax, eax
je 0x432bc1
cmp byte [eax], 0
je 0x432bc1
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.004f92a0
add esp, 0x34
movzx ecx, word [edi + 0x6356c3]
mov eax, dword [ebp + 0x14]
push ecx
add eax, 0x110
push 0x5a5660
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
movzx eax, word [edi + 0x6356c5]
add esp, 0x40
push eax
push 0x5a5660
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
movzx edx, word [edi + 0x6356cb]
add esp, 0x40
push edx
push 0x5a5660
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
movzx edx, word [edi + 0x6356c7]
mov ecx, dword [ebp + 0x10]
add esp, 0x40
push edx
add ecx, 0xc3
push 0x5a5660
mov dword [ebp - 0x88], ecx
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
movzx edx, word [edi + 0x6356c9]
add esp, 0x40
push edx
push 0x5a5660
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
movzx edx, word [edi + 0x6356cd]
add esp, 0x40
push edx
push 0x5a5660
push 0x69ef3c
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 0x69ef3c
push esi
call fcn.004f92a0
mov ecx, dword [ebp - 4]
add esp, 0x40
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00551e40
mov esp, ebp
pop ebp
ret