Function at 0x520be0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a0a66
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x5c43dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [ebp - 0x1d0]
call fcn.00500d10
mov ebx, 1
push 0x4e
mov dword [ebp - 0x1cc], ebx
mov word [ebp - 0x1c8], 0
mov dword [ebp - 0x1d0], 4
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x520c5e
push esi
mov ecx, eax
call fcn.00501400
jmp 0x520c60
xor eax, eax
lea ecx, [ebp - 0x1d0]
push ecx
push 0x24
push 0x13
push 0x12c
push 0x172
or edi, 0xffffffff
push 0x28
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x59], eax
call fcn.005018f0
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [esi + 0x59]
imul eax, eax, 0x13
mov dword [ecx + 0x38], 0x12c
mov dword [ecx + 0x3c], eax
mov eax, dword [esi + 0x59]
push 0x60
mov byte [eax + 0x40], 0
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x520cc7
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520cc9
xor eax, eax
push ebx
push str.ShapeMenuBtn06_1.SHP
push 0x23
push 0x163
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x39], eax
call fcn.00500cd0
mov eax, dword [esi + 0x39]
mov ebx, 0xa0
push 0x60
mov dword [eax + 0x54], ebx
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x520d15
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520d17
xor eax, eax
push 1
push str.ShapeMenuBtn06_1.SHP
push 0x24
push 0x38c
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x41], eax
call fcn.00500cd0
mov eax, dword [esi + 0x41]
push 0x60
mov dword [eax + 0x54], ebx
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x520d5f
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520d61
xor eax, eax
push 1
push str.ShapeMenuBtn05_1.SHP
push 0x1cc
push 0x11d
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x3d], eax
call fcn.00500cd0
push 0x5237
call fcn.004865f0
mov ecx, dword [esi + 0x3d]
add esp, 4
push eax
call fcn.00500c80
mov eax, dword [esi + 0x3d]
push 0x60
mov dword [eax + 0x54], ebx
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x520dc2
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520dc4
xor eax, eax
push 1
push str.ShapeMenuBtn05_1.SHP
push 0x1cc
push 0xdf
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x45], eax
call fcn.00500cd0
push 0x523e
call fcn.004865f0
mov ecx, dword [esi + 0x45]
add esp, 4
push eax
call fcn.00500c80
mov eax, dword [esi + 0x45]
push 0x60
mov dword [eax + 0x54], 0xa2
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x520e29
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520e2b
xor eax, eax
push 1
push str.ShapeMenuBtn05_1.SHP
push 0x1cc
push 0xa1
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x4d], eax
call fcn.00500cd0
push 0x5255
call fcn.004865f0
mov ecx, dword [esi + 0x4d]
add esp, 4
push eax
call fcn.00500c80
mov eax, dword [esi + 0x4d]
push 0x60
mov dword [eax + 0x54], 0xa4
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x520e90
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520e92
xor eax, eax
push 1
push str.ShapeMenuBtn05_1.SHP
push 0x1cc
push 0x63
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x51], eax
call fcn.00500cd0
push 0x52f2
call fcn.004865f0
mov ecx, dword [esi + 0x51]
add esp, 4
push eax
call fcn.00500c80
mov eax, dword [esi + 0x51]
push 0x60
mov dword [eax + 0x54], 0xa5
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x520ef4
push 0
push esi
mov ecx, eax
call fcn.00500a60
jmp 0x520ef6
xor eax, eax
push 1
push str.ShapeMenuBtn05_1.SHP
push 0x1cc
push 0x25
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0x49], eax
call fcn.00500cd0
push 0x5238
call fcn.004865f0
mov ecx, dword [esi + 0x49]
add esp, 4
push eax
call fcn.00500c80
mov eax, dword [esi + 0x49]
lea ebx, [esi + 0x6d]
mov dword [eax + 0x54], 0xa3
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
cmp ecx, eax
je 0x520f88
mov edx, dword [ebp - 0x1c0]
push edx
push ecx
push eax
push eax
call fcn.00519150
mov ecx, dword [ebx + 4]
add esp, 0x10
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], ecx
mov edi, eax
cmp eax, ecx
je 0x520f82
add ebx, 0xc
push edi
push ebx
call fcn.004659a0
add edi, 0x1c
add esp, 8
cmp edi, dword [ebp - 0x1c0]
jne 0x520f67
mov eax, dword [ebp - 0x1c4]
lea ebx, [esi + 0x6d]
mov dword [ebx + 4], eax
push ebx
call fcn.00520a50
mov ecx, dword [ebx + 4]
sub ecx, dword [ebx]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
push 0x65
lea ebx, [edx + eax + 0x20]
call fcn.00551865
mov edi, eax
add esp, 8
mov dword [ebp - 0x1c0], edi
mov dword [ebp - 4], 8
test edi, edi
je 0x520fdc
push esi
mov ecx, edi
call fcn.00503100
mov dword [edi], vtable.hListRecvMail.0
mov dword [edi + 0x61], 0
jmp 0x520fde
xor edi, edi
push 0
push 0
push 0
push 0x8b
push 0x54
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x55], edi
call fcn.00502a20
mov ecx, dword [esi + 0x55]
push 7
push ebx
push 1
push 0xe1
push 0xffffffffffffffc4
push 0xf6
call fcn.00502a60
mov ecx, dword [esi + 0x55]
push 0x24
push 0x11e
push 0xffffffffffffffc4
push 0xffffffffffffffd8
call fcn.00502f70
xor edi, edi
test ebx, ebx
jle 0x521062
push 0x119
lea ecx, [ebp - 0x1bc]
push 0
push ecx
call fcn.005517e0
mov ecx, dword [esi + 0x55]
add esp, 0xc
lea eax, [ebp - 0x1bc]
mov byte [ebp - 0xa3], 0
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
push eax
push edi
call edx
inc edi
cmp edi, ebx
jl 0x52102e
push 0x90
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
xor edi, edi
mov ebx, 9
mov dword [ebp - 4], ebx
cmp eax, edi
je 0x52108e
push edi
push esi
mov ecx, eax
call fcn.00528be0
jmp 0x521090
xor eax, eax
push 0x10
push 0xf0
push 0x14e
push 0x28
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x5d], eax
call fcn.00528cc0
mov eax, dword [esi + 0x5d]
mov byte [eax + 0x77], 0
mov eax, dword [esi + 0x5d]
mov dword [eax + 0x64], ebx
mov eax, dword [esi + 0x5d]
mov ebx, 1
mov dword [eax + 0x40], ebx
mov eax, dword [esi + 0x5d]
push 0x90
mov dword [eax + 0x44], edi
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 0xa
cmp eax, edi
je 0x5210f6
push edi
push esi
mov ecx, eax
call fcn.00528be0
jmp 0x5210f8
xor eax, eax
push 0x10
push 0xb4
push 0x160
push 0xd2
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x61], eax
call fcn.00528cc0
mov eax, dword [esi + 0x61]
mov byte [eax + 0x77], 0
mov eax, dword [esi + 0x61]
mov dword [eax + 0x64], 9
mov eax, dword [esi + 0x61]
mov dword [eax + 0x40], ebx
mov eax, dword [esi + 0x61]
mov dword [eax + 0x44], edi
mov ecx, dword [esi + 0x61]
push edi
push 0x5a49f4
lea ecx, [ecx + 0x24]
call fcn.0040dfb0
push 0x90
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 0xb
cmp eax, edi
je 0x521171
push edi
push esi
mov ecx, eax
call fcn.00528be0
jmp 0x521173
xor eax, eax
push 0x1e
push 0xb7
mov dword [esi + 0x65], eax
push 6
mov byte [eax + 0x77], 0
mov ecx, dword [esi + 0x65]
push 0x64
mov dword [ebp - 4], 0xffffffff
call fcn.00528cc0
mov eax, dword [esi + 0x65]
mov dword [eax + 0x40], edi
mov eax, dword [esi + 0x65]
mov dword [eax + 0x44], ebx
mov eax, dword [esi + 0x65]
push 0x4e9e
mov dword [eax + 0x48], 4
call fcn.004865f0
mov edi, dword [esi + 0x65]
mov ecx, eax
add esp, 4
lea edx, [ecx + 1]
nop
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x5211c0
sub ecx, edx
push ecx
push eax
lea ecx, [edi + 0x24]
call fcn.0040dfb0
push 0x90
call fcn.00551865
add esp, 4
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x5211fd
push 0
push esi
mov ecx, eax
call fcn.00528be0
jmp 0x5211ff
xor eax, eax
push 0x19
push 0x98
push 0x32
push 0x71
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x69], eax
call fcn.00528cc0
mov ecx, dword [esi + 0x69]
push 0x10000
push 0x10000
push 0
push 0
push str.ShapeMenuR61BankStoreBankStore_BG.SHP
call fcn.00528740
push 0x524c
call fcn.004865f0
mov ecx, eax
add esp, 4
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x521248
sub ecx, edi
push ecx
mov ecx, dword [esi + 0x69]
push eax
add ecx, 0x24
call fcn.0040dfb0
mov ecx, dword [esi + 0x69]
mov eax, 1
mov dword [ecx + 0x40], eax
mov edx, dword [esi + 0x69]
mov dword [edx + 0x64], eax
mov ecx, dword [esi + 0x69]
mov dword [ecx + 0x44], eax
mov edx, dword [esi + 0x69]
mov dword [edx + 0x48], 4
mov ecx, dword [esi + 0x71]
sub ecx, dword [esi + 0x6d]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ebx, ebx
test eax, eax
jle 0x5213aa
mov dword [ebp - 0x1c0], ebx
mov eax, dword [esi + 0x55]
mov ecx, dword [eax + 0x38]
sub ecx, dword [eax + 0x34]
sar ecx, 2
cmp ecx, ebx
jle 0x521381
mov edx, dword [eax + 0x34]
mov eax, dword [edx + ebx*4]
mov dword [ebp - 0x1c4], eax
test eax, eax
je 0x521381
mov eax, dword [esi + 0x6d]
add eax, dword [ebp - 0x1c0]
cmp dword [eax + 0x14], 0x10
jb 0x5212e1
mov eax, dword [eax]
push eax
push str.hTemp_Mail_Backup
lea eax, [ebp - 0x90]
push str._s__s
push eax
call fcn.00552808
lea ecx, [ebp - 0x90]
push 0x5ad83c
push ecx
call fcn.00555463
mov edi, eax
add esp, 0x18
test edi, edi
je 0x521381
push edi
push 1
lea edx, [ebp - 0xa0]
push 0x10
push edx
call fcn.0055535a
add esp, 0x10
cmp dword [ebp - 0xa0], 1
jne 0x521378
mov eax, dword [ebp - 0x1c4]
push edi
push 1
push 0x119
push eax
call fcn.0055535a
mov ecx, dword [ebp - 0x1c4]
add ecx, 0x1c
add esp, 0x10
push ecx
call fcn.004fa840
push eax
call fcn.00555060
add esp, 8
test eax, eax
je 0x521378
mov edx, dword [ebp - 0x1c4]
push 0x119
push 0
push edx
call fcn.005517e0
add esp, 0xc
push edi
call fcn.00554ef3
add esp, 4
mov ecx, dword [esi + 0x71]
sub ecx, dword [esi + 0x6d]
add dword [ebp - 0x1c0], 0x1c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
cmp ebx, eax
jl 0x5212a8
mov ecx, dword [esi + 0x55]
call fcn.00520070
mov ecx, dword [esi + 0x49]
push 0
call fcn.005002f0
mov ecx, esi
call fcn.00501e60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005517d0
mov esp, ebp
pop ebp
ret