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

Disassembly:
sub esp, 0x45c
push ebx
mov ebx, ecx
push esi
lea ecx, [ebx + 0xa811cd]
call fcn.00452190
mov eax, dword [esp + 0x468]
mov word [ebx + 0xa8ba89], 0xd00
test eax, eax
mov word [ebx + 0xa8d94f], 0x103
mov word [ebx + 0xa8d951], 0x1000
mov dword [ebx + 0xa8ba81], eax
jne 0x43d68b
mov dword [ebx + 0xa8ba85], 1
mov eax, dword [ebx + 0x5a6f04]
push ebp
push edi
mov dword [ebx + 0xa8ba97], eax
mov dword [ebx + 0xa8ba9f], eax
mov edi, str.sys_inherit_save_base
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebp, [ebx + 0xa811d1]
mov eax, ecx
mov esi, edi
mov edi, ebp
lea edx, [ebx + 0xa81211]
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_inherit_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 + 0x2a9e62]
push ecx
push str.SAVE_TYPE
push str.INHERITSAVE
mov ecx, edi
call fcn.00407e80
lea edx, [ebx + 0xa8d959]
mov ecx, edi
push edx
push str.SAVE_PAGE_MAX
push str.INHERITSAVE
call fcn.00407dc0
lea eax, [ebx + 0xa8ba9b]
mov ecx, edi
push eax
push str.SAVE_COUNT_MAX
push str.INHERITSAVE
call fcn.00407dc0
mov cx, word [esp + 0x58]
lea edx, [esp + 0x6c]
push 0x400
push edx
mov word [ebx + 0xa8bab9], cx
push str.SAVE_BASE_POS
push str.INHERITSAVE
mov ecx, edi
call fcn.00407ce0
test eax, eax
je 0x43d8f6
lea eax, [ebx + 0xadefa7]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0
push ecx
call fcn.00402a50
lea edx, [ebx + 0xadefa9]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 1
push eax
call fcn.00402a50
lea ecx, [ebx + 0xadefab]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 2
push edx
call fcn.00402a50
lea eax, [ebx + 0xadefad]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 3
push ecx
call fcn.00402a50
add esp, 0x40
lea edx, [ebx + 0xadefaf]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 4
push eax
call fcn.00402a50
lea ecx, [ebx + 0xadefb1]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 5
push edx
call fcn.00402a50
lea eax, [ebx + 0xadefb3]
lea ecx, [esp + 0x8c]
push eax
push 0x2c
push 6
push ecx
call fcn.00402a50
lea edx, [ebx + 0xadefb5]
lea eax, [esp + 0x9c]
push edx
push 0x2c
push 7
push eax
call fcn.00402a50
add esp, 0x40
lea ecx, [ebx + 0xadefb7]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 8
push edx
call fcn.00402a50
lea eax, [ebx + 0xadefb9]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 9
push ecx
call fcn.00402a50
lea edx, [ebx + 0xadefbb]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 0xa
push eax
call fcn.00402a50
lea ecx, [ebx + 0xadefbd]
push ecx
push 0x2c
lea edx, [esp + 0xa4]
push 0xb
push edx
call fcn.00402a50
add esp, 0x40
lea eax, [ebx + 0xadefbf]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0xc
push ecx
call fcn.00402a50
lea edx, [ebx + 0xadefc1]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 0xd
push eax
call fcn.00402a50
lea ecx, [ebx + 0xadefc3]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 0xe
push edx
call fcn.00402a50
lea eax, [ebx + 0xadefc5]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 0xf
push ecx
call fcn.00402a50
add esp, 0x40
lea edx, [ebx + 0xadefc7]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 0x10
push eax
call fcn.00402a50
add esp, 0x10
lea ecx, [esp + 0x6c]
push 0x400
push ecx
push str.SAVE_B_TEXT_POS
push str.INHERITSAVE
mov ecx, edi
call fcn.00407ce0
test eax, eax
je 0x43d981
lea edx, [ebx + 0xadefc9]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 0
push eax
call fcn.00402a50
lea ecx, [ebx + 0xadefcb]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 1
push edx
call fcn.00402a50
lea eax, [ebx + 0xadefcd]
push eax
push 0x2c
lea eax, [esp + 0x94]
push 2
push eax
call fcn.00402a50
lea esi, [ebx + 0xadefcf]
lea ecx, [esp + 0x9c]
push esi
push 0x2c
push 3
push ecx
call fcn.00402a50
mov ax, word [ebx + 0xadefcd]
add esp, 0x40
cmp word [esi], ax
jge 0x43d981
mov word [esi], ax
lea edx, [esp + 0x6c]
push 0x400
push edx
push str.SAVE_B_THUM_POS
push str.INHERITSAVE
mov ecx, edi
call fcn.00407ce0
test eax, eax
je 0x43d9cd
lea eax, [ebx + 0xadefd1]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0
push ecx
call fcn.00402a50
lea edx, [ebx + 0xadefd3]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 1
push eax
call fcn.00402a50
add esp, 0x20
push 0
push 3
push 0x850
push ebp
mov ecx, ebx
call fcn.004197a0
push 0
push 3
lea eax, [ebx + 0xa81211]
push 0x85a
push eax
mov ecx, ebx
call fcn.004197a0
xor ecx, ecx
xor edx, edx
mov cx, word [ebx + 0x2aa7d4]
mov dx, word [ebx + 0x2aa7d2]
push 1
push 0x15
lea esi, [ebx + 0xe8]
push ecx
push edx
push 0x85b
mov ecx, esi
call fcn.00412b80
movsx eax, word [ebx + 0xadefcd]
mov ecx, dword [ebx + 0xc]
push 0
push 0
push eax
push 0x4d2cfc
push ecx
lea ecx, [ebx + 0x521c0]
call fcn.0040e2f0
xor edx, edx
xor eax, eax
mov dx, word [ebx + 0x2aa7d4]
mov ax, word [ebx + 0x2aa7d2]
push 1
push 0x15
push edx
push eax
push 0xa
mov ecx, esi
call fcn.00412dd0
xor ecx, ecx
xor edx, edx
mov cx, word [ebx + 0x2aa7d4]
mov dx, word [ebx + 0x2aa7d2]
push ecx
lea esi, [ebx + 0xa81491]
push edx
push 0
push 0
mov ecx, esi
mov dword [ebx + 0xa8d943], 0x850
mov dword [ebx + 0xa8d947], 0x85a
mov dword [ebx + 0xa8d94b], 0xa
mov dword [ebx + 0xa8ba15], 1
call fcn.00417080
push 0
push 0
mov ecx, esi
call fcn.00417050
mov ecx, esi
call fcn.00417120
push 0x1f4
mov ecx, esi
call fcn.00417520
push 0x3f800000
push 0x10
mov ecx, esi
call fcn.00417370
mov ecx, esi
call fcn.004170f0
xor eax, eax
lea esi, [ebx + 0xa832a9]
mov ax, word [ebx + 0x2aa7d4]
mov dword [esp + 0x38], esi
push eax
xor ecx, ecx
mov cx, word [ebx + 0x2aa7d2]
push ecx
push 0
push 0
mov ecx, esi
call fcn.00417080
push 0
push 0
mov ecx, esi
call fcn.00417050
mov ecx, esi
call fcn.00417120
push 0x1f4
mov ecx, esi
call fcn.00417520
push 0x3f800000
push 0x10
mov ecx, esi
call fcn.00417370
mov ecx, esi
call fcn.004170f0
mov edx, dword [ebx + 0xadf42f]
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_PAGE_POS
push str.INHERITSAVE
mov ecx, edi
mov dword [ebx + 0xa8d955], edx
call fcn.00407ce0
test eax, eax
je 0x43de05
lea ecx, [esp + 0x14]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0
push edx
call fcn.004029f0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 1
push ecx
call fcn.004029f0
lea edx, [esp + 0x40]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 2
push eax
call fcn.004029f0
lea ecx, [esp + 0x54]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 3
push edx
call fcn.004029f0
add esp, 0x40
lea eax, [esp + 0x18]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 4
push ecx
call fcn.004029f0
lea edx, [esp + 0x2c]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 5
push eax
call fcn.004029f0
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 6
push edx
call fcn.004029f0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 7
push ecx
call fcn.004029f0
add esp, 0x40
lea edx, [esp + 0x48]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 8
push eax
call fcn.004029f0
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 9
push edx
call fcn.004029f0
lea eax, [esp + 0x74]
lea ecx, [esp + 0x8c]
push eax
push 0x2c
push 0xa
push ecx
call fcn.004029f0
lea edx, [esp + 0x8c]
push edx
push 0x2c
lea eax, [esp + 0xa4]
push 0xb
push eax
call fcn.004029f0
add esp, 0x40
lea ecx, [esp + 0x64]
lea edx, [esp + 0x6c]
push ecx
push 0x2c
push 0xc
push edx
call fcn.004029f0
lea eax, [esp + 0x78]
lea ecx, [esp + 0x7c]
push eax
push 0x2c
push 0xd
push ecx
call fcn.004029f0
lea edx, [esp + 0x70]
lea eax, [esp + 0x8c]
push edx
push 0x2c
push 0xe
push eax
call fcn.004029f0
lea ecx, [esp + 0x90]
lea edx, [esp + 0x9c]
push ecx
push 0x2c
push 0xf
push edx
call fcn.004029f0
add esp, 0x40
lea eax, [esp + 0x40]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0x10
push ecx
call fcn.004029f0
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 0x43de05
cmp ecx, dword [esp + 0x48]
jge 0x43de05
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 0x43ddf0
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x44]
jge 0x43ddf0
mov ecx, ebx
call fcn.004206a0
push 0
push 0
push 0
push 2
mov ecx, ebx
call fcn.00420a50
lea eax, [ebx + 0xa81491]
push 1
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push 0xd
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.004206e0
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 0x43dd33
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
inc ecx
cmp edx, eax
mov dword [esp + 0x34], ecx
jl 0x43dcf5
lea edx, [esp + 0x6c]
push 0x400
push edx
lea edi, [ebx + 0x2a9e62]
push str.SAVE_DEL_POS
push str.INHERITSAVE
mov ecx, edi
mov dword [ebx + 0xadef9f], 0
call fcn.00407ce0
test eax, eax
je 0x43df14
lea eax, [esp + 0x14]
lea ecx, [esp + 0x6c]
push eax
push 0x2c
push 0
push ecx
call fcn.004029f0
lea edx, [esp + 0x20]
lea eax, [esp + 0x7c]
push edx
push 0x2c
push 1
push eax
call fcn.004029f0
lea ecx, [esp + 0x40]
lea edx, [esp + 0x8c]
push ecx
push 0x2c
push 2
push edx
call fcn.004029f0
lea eax, [esp + 0x54]
lea ecx, [esp + 0x9c]
push eax
push 0x2c
push 3
push ecx
call fcn.004029f0
add esp, 0x40
lea edx, [esp + 0x18]
lea eax, [esp + 0x6c]
push edx
push 0x2c
push 4
push eax
call fcn.004029f0
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x7c]
push ecx
push 0x2c
push 5
push edx
call fcn.004029f0
add esp, 0x20
mov ecx, ebx
call fcn.004206a0
push 0
push 0
push 0
push 2
mov ecx, ebx
call fcn.00420a50
lea eax, [ebx + 0xa81491]
push 1
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
push 0xd
push 0x400502
push 0x101
push 0x85a
push 1
push 1
push 0x202
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.004206e0
lea eax, [esp + 0x6c]
push 0x400
push eax
push str.SAVE_RETURN_POS
push str.INHERITSAVE
mov ecx, edi
call fcn.00407ce0
pop edi
pop ebp
test eax, eax
je 0x43e015
lea ecx, [esp + 0xc]
lea edx, [esp + 0x64]
push ecx
push 0x2c
push 0
push edx
call fcn.004029f0
lea eax, [esp + 0x18]
lea ecx, [esp + 0x74]
push eax
push 0x2c
push 1
push ecx
call fcn.004029f0
lea edx, [esp + 0x38]
lea eax, [esp + 0x84]
push edx
push 0x2c
push 2
push eax
call fcn.004029f0
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x94]
push ecx
push 0x2c
push 3
push edx
call fcn.004029f0
add esp, 0x40
lea eax, [esp + 0x10]
lea ecx, [esp + 0x64]
push eax
push 0x2c
push 4
push ecx
call fcn.004029f0
lea edx, [esp + 0x24]
lea eax, [esp + 0x74]
push edx
push 0x2c
push 5
push eax
call fcn.004029f0
add esp, 0x20
mov ecx, ebx
call fcn.004206a0
push 0
push 0
push 0
push 3
mov ecx, ebx
call fcn.00420a50
lea eax, [ebx + 0xa81491]
mov ecx, dword [esp + 0x14]
push 1
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x24]
push 0xd
push 0x400512
push 0x101
push 0x85a
push 1
push 1
push 0x200
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004206e0
mov ecx, dword [ebx + 0x5a6f04]
mov edx, dword [ebx + 0xa8d955]
mov dword [ebx + 0xadef9b], ecx
push edx
mov ecx, ebx
call fcn.0043e170
mov cx, word [ebx + 0x2a8f76]
mov ax, word [ebx + 0x2a8f72]
mov word [ebx + 0xa8ba8d], cx
mov ecx, ebx
mov word [ebx + 0xa8bab7], 0x51
mov word [ebx + 0xa8ba8b], ax
mov word [ebx + 0x2a8f72], 0xd00
mov word [ebx + 0x2a8f76], 0xd
call fcn.00423410
push 1
mov ecx, ebx
call fcn.00453e00
mov edx, dword [ebx + 0x2a8f6a]
lea ecx, [ebx + 0xa81491]
push edx
call fcn.00418710
mov eax, dword [ebx + 0x2a8f6a]
mov ecx, esi
push eax
call fcn.00418710
pop esi
mov eax, 1
pop ebx
add esp, 0x45c
ret 4