Function at 0x439b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x45c
push ebx
mov ebx, ecx
push esi
lea ecx, [ebx + 0xa44b43]
call fcn.0044a580
mov eax, dword [esp + 0x468]
mov word [ebx + 0xa4f3ff], 0x500
test eax, eax
mov word [ebx + 0xa5037f], 0x103
mov word [ebx + 0xa50381], 0x1000
mov dword [ebx + 0xa4f3f7], eax
jne 0x439b7b
mov dword [ebx + 0xa4f3fb], 1
mov eax, dword [ebx + 0x5a6796]
push ebp
push edi
mov dword [ebx + 0xa4f40d], eax
mov dword [ebx + 0xa4f415], eax
mov edi, str.sys_save_base
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebp, [ebx + 0xa44b47]
mov eax, ecx
mov esi, edi
mov edi, ebp
lea edx, [ebx + 0xa44b87]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.sys_save_button
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x58]
lea edi, [ebx + 0x2a9c6c]
push ecx
push str.SAVE_TYPE
push str.SAVE
mov ecx, edi
call fcn.00407d20
lea eax, [ebx + 0xa50389]
mov ecx, edi
push eax
push str.SAVE_PAGE_MAX
push str.SAVE
call fcn.00407ba0
lea edx, [ebx + 0xa4f411]
mov ecx, edi
push edx
push str.SAVE_COUNT_MAX
push str.SAVE
call fcn.00407ba0
mov ax, word [esp + 0x58]
lea ecx, [esp + 0x6c]
push 0x400
push ecx
push str.SAVE_BASE_POS
push str.SAVE
mov ecx, edi
mov word [ebx + 0xa4f42f], ax
call fcn.00407b80
test eax, eax
je 0x439de6
lea edx, [ebx + 0xa9d94f]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 0
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d951]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 1
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d953]
lea ecx, [esp + 0x8c]
push eax
push 0x2c
push 2
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d955]
lea eax, [esp + 0x9c]
push edx
push 0x2c
push 3
push eax
call fcn.004029f0
add esp, 0x40
lea ecx, [ebx + 0xa9d957]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 4
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d959]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 5
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d95b]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 6
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d95d]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 7
push edx
call fcn.004029f0
add esp, 0x40
lea eax, [ebx + 0xa9d95f]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 8
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d961]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 9
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d963]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 0xa
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d965]
push eax
push 0x2c
lea ecx, [esp + 0xa4]
push 0xb
push ecx
call fcn.004029f0
add esp, 0x40
lea edx, [ebx + 0xa9d967]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 0xc
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d969]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 0xd
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d96b]
lea ecx, [esp + 0x8c]
push eax
push 0x2c
push 0xe
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d96d]
lea eax, [esp + 0x9c]
push edx
push 0x2c
push 0xf
push eax
call fcn.004029f0
add esp, 0x40
lea ecx, [ebx + 0xa9d96f]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0x10
push edx
call fcn.004029f0
add esp, 0x10
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_B_TEXT_POS
push str.SAVE
mov ecx, edi
call fcn.00407b80
test eax, eax
je 0x439e71
lea ecx, [ebx + 0xa9d971]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d973]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 1
push ecx
call fcn.004029f0
lea eax, [ebx + 0xa9d975]
lea edx, [esp + 0x8c]
push eax
push 0x2c
push 2
push edx
call fcn.004029f0
lea esi, [ebx + 0xa9d977]
lea eax, [esp + 0x9c]
push esi
push 0x2c
push 3
push eax
call fcn.004029f0
mov ax, word [ebx + 0xa9d975]
add esp, 0x40
cmp word [esi], ax
jge 0x439e71
mov word [esi], ax
lea ecx, [esp + 0x6c]
push 0x400
push ecx
push str.SAVE_B_THUM_POS
push str.SAVE
mov ecx, edi
call fcn.00407b80
test eax, eax
je 0x439ebd
lea edx, [ebx + 0xa9d979]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 0
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d97b]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 1
push edx
call fcn.004029f0
add esp, 0x20
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_B_NEW_POS
push str.SAVE
mov ecx, edi
call fcn.00407b80
test eax, eax
je 0x439f6a
lea ecx, [ebx + 0xa9d97d]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0
push edx
call fcn.004029f0
lea eax, [ebx + 0xa9d97f]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 1
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d981]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 2
push eax
call fcn.004029f0
lea ecx, [ebx + 0xa9d983]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 3
push edx
call fcn.004029f0
add esp, 0x40
lea eax, [ebx + 0xa9d985]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 4
push ecx
call fcn.004029f0
lea edx, [ebx + 0xa9d987]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 5
push eax
call fcn.004029f0
add esp, 0x20
push 0
push 3
push 0x850
push ebp
mov ecx, ebx
call fcn.00418ea0
push 0
push 3
lea eax, [ebx + 0xa44b87]
push 0x85a
push eax
mov ecx, ebx
call fcn.00418ea0
xor ecx, ecx
xor edx, edx
mov cx, word [ebx + 0x2aa5de]
mov dx, word [ebx + 0x2aa5dc]
push 1
push 0x15
lea esi, [ebx + 0xe8]
push ecx
push edx
push 0x85b
mov ecx, esi
call fcn.00412330
movsx eax, word [ebx + 0xa9d975]
mov ecx, dword [ebx + 0xc]
push 0
push 0
push eax
push 0x4c8cb4
push ecx
lea ecx, [ebx + 0x521c0]
call fcn.0040dad0
xor edx, edx
xor eax, eax
mov dx, word [ebx + 0x2aa5de]
mov ax, word [ebx + 0x2aa5dc]
push 1
push 0x15
push edx
push eax
push 0xa
mov ecx, esi
call fcn.00412580
xor ecx, ecx
xor edx, edx
mov cx, word [ebx + 0x2aa5de]
mov dx, word [ebx + 0x2aa5dc]
push ecx
lea esi, [ebx + 0xa44e07]
push edx
push 0
push 0
mov ecx, esi
mov dword [ebx + 0xa50373], 0x850
mov dword [ebx + 0xa50377], 0x85a
mov dword [ebx + 0xa5037b], 0xa
mov dword [ebx + 0xa4f38b], 1
call fcn.00416820
push 0
push 0
mov ecx, esi
call fcn.004167f0
mov ecx, esi
call fcn.004168c0
push 0x1f4
mov ecx, esi
call fcn.00416cc0
push 0x3f800000
push 0x10
mov ecx, esi
call fcn.00416b10
mov ecx, esi
call fcn.00416890
xor eax, eax
lea esi, [ebx + 0xa46c1f]
mov ax, word [ebx + 0x2aa5de]
mov dword [esp + 0x38], esi
push eax
xor ecx, ecx
mov cx, word [ebx + 0x2aa5dc]
push ecx
push 0
push 0
mov ecx, esi
call fcn.00416820
push 0
push 0
mov ecx, esi
call fcn.004167f0
mov ecx, esi
call fcn.004168c0
push 0x1f4
mov ecx, esi
call fcn.00416cc0
push 0x3f800000
push 0x10
mov ecx, esi
call fcn.00416b10
mov ecx, esi
call fcn.00416890
mov edx, dword [ebx + 0xa9d9d7]
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_PAGE_POS
push str.SAVE
mov ecx, edi
mov dword [ebx + 0xa50385], edx
call fcn.00407b80
test eax, eax
je 0x43a3a2
lea ecx, [esp + 0x14]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0
push edx
call fcn.00402a50
lea eax, [esp + 0x20]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 1
push ecx
call fcn.00402a50
lea edx, [esp + 0x40]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 2
push eax
call fcn.00402a50
lea ecx, [esp + 0x54]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 3
push edx
call fcn.00402a50
add esp, 0x40
lea eax, [esp + 0x18]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 4
push ecx
call fcn.00402a50
lea edx, [esp + 0x2c]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 5
push eax
call fcn.00402a50
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 6
push edx
call fcn.00402a50
lea eax, [esp + 0x74]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 7
push ecx
call fcn.00402a50
add esp, 0x40
lea edx, [esp + 0x48]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 8
push eax
call fcn.00402a50
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 9
push edx
call fcn.00402a50
lea eax, [esp + 0x74]
lea ecx, [esp + 0x8c]
push eax
push 0x2c
push 0xa
push ecx
call fcn.00402a50
lea edx, [esp + 0x8c]
push edx
push 0x2c
lea eax, [esp + 0xa4]
push 0xb
push eax
call fcn.00402a50
add esp, 0x40
lea ecx, [esp + 0x64]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0xc
push edx
call fcn.00402a50
lea eax, [esp + 0x78]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 0xd
push ecx
call fcn.00402a50
lea edx, [esp + 0x70]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 0xe
push eax
call fcn.00402a50
lea ecx, [esp + 0x90]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 0xf
push edx
call fcn.00402a50
add esp, 0x40
lea eax, [esp + 0x40]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0x10
push ecx
call fcn.00402a50
mov eax, dword [esp + 0x4c]
add esp, 0x10
xor ecx, ecx
mov dword [esp + 0x28], 0
test eax, eax
mov dword [esp + 0x34], ecx
jle 0x43a3a2
cmp ecx, dword [esp + 0x48]
jge 0x43a3a2
mov edx, ecx
mov esi, ecx
imul edx, dword [esp + 0x40]
imul esi, dword [esp + 0x68]
mov edi, ecx
mov ebp, ecx
imul edi, dword [esp + 0x50]
imul ebp, dword [esp + 0x60]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x28]
cmp edx, eax
mov dword [esp + 0x2c], 0
jge 0x43a38d
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x44]
jge 0x43a38d
mov ecx, ebx
call fcn.0041f410
push 0
push 0
push 0
push 2
mov ecx, ebx
call fcn.0041f770
lea eax, [ebx + 0xa44e07]
push 1
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push 9
push 0x2002fc
mov edx, dword [esp + 0x34]
push 0x101
push 0x85a
push 1
push 1
push 0x211
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x4c]
add eax, edx
push eax
mov eax, dword [esp + 0x40]
lea edx, [ecx + ebp]
push edx
mov edx, dword [esp + 0x48]
lea ecx, [edi + eax]
lea eax, [esi + edx]
push ecx
push eax
mov ecx, ebx
call fcn.0041f450
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
add esi, eax
mov eax, dword [esp + 0x30]
add ebp, ecx
mov ecx, dword [esp + 0x64]
add edi, edx
add eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
inc ecx
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jl 0x43a2d0
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
inc ecx
cmp edx, eax
mov dword [esp + 0x34], ecx
jl 0x43a292
lea edx, [esp + 0x6c]
push 0x400
push edx
lea edi, [ebx + 0x2a9c6c]
push str.SAVE_AUTO_POS
push str.SAVE
mov ecx, edi
call fcn.00407b80
test eax, eax
je 0x43a4ad
lea eax, [esp + 0x14]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0
push ecx
call fcn.00402a50
lea edx, [esp + 0x20]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 1
push eax
call fcn.00402a50
lea ecx, [esp + 0x40]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 2
push edx
call fcn.00402a50
lea eax, [esp + 0x54]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 3
push ecx
call fcn.00402a50
add esp, 0x40
lea edx, [esp + 0x18]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 4
push eax
call fcn.00402a50
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 5
push edx
call fcn.00402a50
add esp, 0x20
mov ecx, ebx
call fcn.0041f410
push 0
push 0
push 0
push 2
mov ecx, ebx
call fcn.0041f770
lea eax, [ebx + 0xa44e07]
push 1
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
push 9
push 0x2002fc
push 0x101
push 0x85a
push 1
push 1
push 0x211
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.0041f450
inc dword [ebx + 0xa50389]
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_DEL_POS
push str.SAVE
mov ecx, edi
mov dword [ebx + 0xa9d947], 0
call fcn.00407b80
test eax, eax
je 0x43a5b6
lea ecx, [esp + 0x14]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0
push edx
call fcn.00402a50
lea eax, [esp + 0x20]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 1
push ecx
call fcn.00402a50
lea edx, [esp + 0x40]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 2
push eax
call fcn.00402a50
lea ecx, [esp + 0x54]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 3
push edx
call fcn.00402a50
add esp, 0x40
lea eax, [esp + 0x18]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 4
push ecx
call fcn.00402a50
lea edx, [esp + 0x2c]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 5
push eax
call fcn.00402a50
add esp, 0x20
mov ecx, ebx
call fcn.0041f410
push 0
push 0
push 0
push 2
mov ecx, ebx
call fcn.0041f770
lea eax, [ebx + 0xa44e07]
mov ecx, dword [esp + 0x1c]
push 1
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x2c]
push 9
push 0x400501
push 0x101
push 0x85a
push 1
push 1
push 0x202
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0041f450
lea ecx, [esp + 0x6c]
push 0x400
push ecx
push str.SAVE_RETURN_POS
push str.SAVE
mov ecx, edi
call fcn.00407b80
pop edi
pop ebp
test eax, eax
je 0x43a6b7
lea edx, [esp + 0xc]
lea eax, [esp + 0x64]
push edx
push 0x2c
push 0
push eax
call fcn.00402a50
lea ecx, [esp + 0x18]
lea edx, [esp + 0x74]
push ecx
push 0x2c
push 1
push edx
call fcn.00402a50
lea eax, [esp + 0x38]
lea ecx, [esp + 0x84]
push eax
push 0x2c
push 2
push ecx
call fcn.00402a50
lea edx, [esp + 0x4c]
lea eax, [esp + 0x94]
push edx
push 0x2c
push 3
push eax
call fcn.00402a50
add esp, 0x40
lea ecx, [esp + 0x10]
lea edx, [esp + 0x64]
push ecx
push 0x2c
push 4
push edx
call fcn.00402a50
lea eax, [esp + 0x24]
lea ecx, [esp + 0x74]
push eax
push 0x2c
push 5
push ecx
call fcn.00402a50
add esp, 0x20
mov ecx, ebx
call fcn.0041f410
push 0
push 0
push 0
push 3
mov ecx, ebx
call fcn.0041f770
lea eax, [ebx + 0xa44e07]
mov edx, dword [esp + 0x14]
push 1
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push 9
push 0x400511
push 0x101
push 0x85a
push 1
push 1
push 0x200
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.0041f450
mov eax, dword [ebx + 0xa50385]
mov edx, dword [ebx + 0x5a6796]
push eax
mov ecx, ebx
mov dword [ebx + 0xa9d943], edx
call fcn.0043a840
mov cx, word [ebx + 0x2a8d7c]
mov dx, word [ebx + 0x2a8d80]
mov word [ebx + 0xa4f401], cx
mov ecx, ebx
mov word [ebx + 0xa4f42d], 0x51
mov word [ebx + 0xa4f403], dx
mov word [ebx + 0x2a8d7c], 0x500
mov word [ebx + 0x2a8d80], 9
call fcn.00421c80
push 1
mov ecx, ebx
call fcn.0044c000
push 0
push 1
push 0x270f
push 0
push str.sse_021
push 5
mov ecx, ebx
call fcn.0044b030
mov eax, dword [ebx + 0x2a8d74]
lea ecx, [ebx + 0xa44e07]
push eax
call fcn.00417eb0
mov ecx, dword [ebx + 0x2a8d74]
push ecx
mov ecx, esi
call fcn.00417eb0
pop esi
mov eax, 1
pop ebx
add esp, 0x45c
ret 4