Function at 0x43a7a0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dc693
mov eax, dword fs:[0]
push eax
mov eax, 0x13a8
call fcn.00451480
mov eax, dword [0x66f33c]
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 dword [ebp - 0x1364], ecx
push 0x104
xorps xmm0, xmm0
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x6ec]
push 0
push eax
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.0047be90
push 0x104
lea eax, [ebp - 0x5e8]
push 0
push eax
call fcn.0047be90
push 0x104
lea eax, [ebp - 0x7f0]
push 0
push eax
call fcn.0047be90
push 0x104
lea eax, [ebp - 0x8f4]
push 0
push eax
call fcn.0047be90
add esp, 0x30
call fcn.00454993
test al, al
je 0x43a856
push esi
push edi
push ecx
pop edi
push eax
pop ebx
pop esp
push esp
pop esp
pop edi
push ebx
pop edx
push esi
pop esp
push eax
push eax
pop ebx
pop ecx
push esp
pop ebp
pop esi
pop edx
push ecx
call fcn.004547b0
test al, al
je 0x43a87e
push ebx
push edx
pop edx
push ebx
pop ebx
pop ecx
push eax
pop eax
pop esp
push edx
pop edx
pop ecx
push eax
pop esp
pop esp
push esp
push ebx
push esi
pop ebx
push edx
pop ebp
push ecx
push esp
push edx
pop edx
pop esp
pop edx
push ebx
push edx
pop esp
push ecx
call fcn.0045483a
test al, al
je 0x43a897
push eax
push esp
pop edi
push esi
push edi
pop ebp
push ebx
push edx
pop ecx
push edi
push esp
pop esi
pop edx
pop ebx
pop esi
pop ebp
call fcn.0045494e
test al, al
je 0x43a8b3
push esp
push edi
push ebx
pop ebp
pop esi
pop eax
pop ebx
push esi
pop ebx
push esi
push edx
push edi
push ebp
pop ebx
pop edx
pop ebx
pop esp
pop esp
push edi
lea ecx, [ebp - 0x135d]
call fcn.0041e5f0
lea eax, [ebp - 0x125c]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x135d]
call fcn.00467a93
mov esi, dword [ebp - 0x1364]
add esi, 0x18
mov byte [ebp - 4], 1
cmp dword [esi + 0x14], 8
jb 0x43a8ee
mov eax, dword [esi]
jmp 0x43a8f0
mov eax, esi
lea ecx, [ebp - 0x5e8]
push ecx
push eax
call fcn.0045aaa4
add esp, 8
mov dword [ebp - 0x1188], 7
xor eax, eax
mov dword [ebp - 0x118c], 0
lea ecx, [ebp - 0x119c]
mov word [ebp - 0x119c], ax
push 7
push str.1.2.1.0
call fcn.00403000
lea eax, [ebp - 0x119c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x1124]
push eax
call fcn.0045af6f
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x43a951
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x6ec]
push 0x5e6938
push eax
call fcn.004084c0
mov eax, dword [ebp - 0x1110]
add esp, 0xc
cmp eax, 0x10
jb 0x43a984
inc eax
lea ecx, [ebp - 0x1124]
push eax
push dword [ebp - 0x1124]
call fcn.004053c0
mov eax, dword [ebp - 0x1188]
mov dword [ebp - 0x1110], 0xf
mov dword [ebp - 0x1114], 0
mov byte [ebp - 0x1124], 0
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x43a9c1
inc eax
lea ecx, [ebp - 0x119c]
push eax
push dword [ebp - 0x119c]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x1140], 7
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x1154]
mov dword [ebp - 0x1144], 0
mov word [ebp - 0x1154], ax
call fcn.00402ee0
cmp dword [ebp - 0x1140], 8
lea eax, [ebp - 0x1154]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x1154]
push eax
mov byte [ebp - 4], 3
call edi
test eax, eax
jne 0x43ab09
call fcn.00454a62
test al, al
je 0x43aa32
push esi
push edx
push eax
pop ebp
pop edx
pop edx
push edx
pop ebx
push ebp
pop eax
pop ebp
push eax
push esi
pop eax
pop esp
pop ecx
pop ecx
pop ebx
push ebp
push 0x400
lea eax, [ebp - 0x10f4]
push 0
push eax
call fcn.0047be90
push 0x400
lea eax, [ebp - 0xcf4]
push 0
push eax
call fcn.0047be90
add esp, 0x18
lea eax, [ebp - 0x10f4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x10f4]
push 0x5c
push eax
call fcn.0047c503
xor ecx, ecx
add esp, 8
mov word [eax + 2], cx
cmp dword [esi + 0x14], 8
jb 0x43aa8e
mov esi, dword [esi]
push esi
lea eax, [ebp - 0x10f4]
push eax
lea eax, [ebp - 0xcf4]
push 0x5e60d0
push eax
call fcn.00407930
add esp, 0x10
cmp word [ebp - 0xcf4], 0
jne 0x43aab8
xor ecx, ecx
jmp 0x43aad0
lea ecx, [ebp - 0xcf4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43aac1
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xcf4]
push eax
lea ecx, [ebp - 0x1154]
call fcn.00403000
cmp dword [ebp - 0x1140], 8
lea eax, [ebp - 0x1154]
cmovae eax, dword [ebp - 0x1154]
push eax
call edi
test eax, eax
jne 0x43abad
xor edi, edi
jmp 0x43be5d
cmp dword [ebp - 0x1140], 8
lea eax, [ebp - 0x1154]
cmovae eax, dword [ebp - 0x1154]
push eax
lea eax, [ebp - 0x110c]
push eax
call fcn.00458a7f
add esp, 8
cmp dword [ebp - 0x10fc], 0
mov byte [ebp - 4], 4
je 0x43ab8b
lea eax, [ebp - 0x110c]
push eax
lea eax, [ebp - 0x1124]
push eax
call fcn.0045af6f
add esp, 8
cmp dword [eax + 0x14], 0x10
jb 0x43ab58
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x5e8]
push 0x104
push eax
call fcn.0048833b
mov eax, dword [ebp - 0x1110]
add esp, 0xc
cmp eax, 0x10
jb 0x43ab8b
inc eax
lea ecx, [ebp - 0x1124]
push eax
push dword [ebp - 0x1124]
call fcn.004053c0
mov eax, dword [ebp - 0x10f8]
mov byte [ebp - 4], 3
cmp eax, 8
jb 0x43abad
inc eax
lea ecx, [ebp - 0x110c]
push eax
push dword [ebp - 0x110c]
call fcn.00403100
lea eax, [ebp - 0x1154]
push eax
lea eax, [ebp - 0x1244]
push eax
call fcn.0045af6f
add esp, 8
mov byte [ebp - 4], 5
call fcn.00454a62
test al, al
je 0x43abe3
push esi
push edx
push eax
pop ebp
pop edx
pop edx
push edx
pop ebx
push ebp
pop eax
pop ebp
push eax
push esi
pop eax
pop esp
pop ecx
pop ecx
pop ebx
push ebp
lea ecx, [ebp - 0x13b4]
call fcn.00454dc1
lea ecx, [ebp - 0x1184]
mov byte [ebp - 4], 6
call fcn.0043a5e0
mov byte [ebp - 4], 7
call fcn.00454a62
test al, al
je 0x43ac1d
push edx
push ecx
pop ecx
pop ecx
push ecx
push esp
push esi
pop ebp
pop ebp
push ebp
pop ecx
pop eax
push ecx
push eax
push edi
push eax
pop ebx
pop ebx
push esp
push 0x258
lea eax, [ebp - 0x28c]
push 0
push eax
call fcn.0047be90
push 0x258
lea eax, [ebp - 0x4e4]
push 0
push eax
call fcn.0047be90
add esp, 0x18
mov dword [ebp - 0x135c], 0
call fcn.004549d8
test al, al
je 0x43ac73
push eax
push edi
pop edi
push ecx
pop ebx
push edi
pop edi
pop eax
pop esp
pop eax
pop edx
push eax
pop ebp
pop esp
pop ecx
push esi
pop edx
pop ebx
push edi
pop ebx
push eax
pop ecx
push ebx
pop edi
push esi
push eax
cmp dword [ebp - 0x1248], 0x10
lea eax, [ebp - 0x125c]
cmovae eax, dword [ebp - 0x125c]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43aca5
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 0xa
push str.Identifier
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43acf5
xor ecx, ecx
jmp 0x43ad09
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ad00
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454a62
test al, al
je 0x43ad4a
push ecx
push ebp
push eax
pop esp
pop ecx
push edx
pop esp
pop ebp
pop ecx
push esp
push ebx
push edx
pop edi
pop esp
pop ebp
pop edx
push edx
push ecx
pop ecx
lea eax, [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ad70
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 6
push str.SrfVer
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43adc0
xor ecx, ecx
jmp 0x43add9
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43add0
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454543
test al, al
je 0x43ae24
pop ebp
push ebx
push edx
pop esp
push edi
push eax
pop edx
pop edi
pop edi
push edi
pop esp
pop ebp
pop ebp
push edx
push edi
pop eax
pop eax
push ebp
push ebp
pop edi
push esp
pop ebp
pop esi
pop eax
pop eax
push ebp
pop ebx
push ebx
pop ebp
call fcn.0045483a
test al, al
je 0x43ae41
pop ebp
push ecx
pop eax
push ebp
push ecx
push edx
push esp
pop ebx
push ebp
push ebx
pop esp
push ebp
pop eax
push esi
pop ebp
push ebx
push edi
pop ebx
pop eax
pop edi
cmp byte [ebp - 0x5e8], 0
mov dword [ebp - 0x1128], 0xf
mov dword [ebp - 0x112c], 0
mov byte [ebp - 0x113c], 0
jne 0x43ae69
xor ecx, ecx
jmp 0x43ae7b
lea ecx, [ebp - 0x5e8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ae72
sub ecx, edx
push ecx
lea eax, [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x113c]
call fcn.00405be0
push 4
push 0
push str..exe
lea ecx, [ebp - 0x113c]
mov byte [ebp - 4], 8
call fcn.00407790
cmp eax, 0xffffffff
je 0x43af37
push eax
push 0
lea eax, [ebp - 0x110c]
push eax
lea ecx, [ebp - 0x113c]
call fcn.0043c170
mov esi, eax
lea eax, [ebp - 0x113c]
cmp eax, esi
je 0x43af15
mov eax, dword [ebp - 0x1128]
cmp eax, 0x10
jb 0x43aeee
inc eax
lea ecx, [ebp - 0x113c]
push eax
push dword [ebp - 0x113c]
call fcn.004053c0
push esi
lea ecx, [ebp - 0x113c]
mov dword [ebp - 0x1128], 0xf
mov dword [ebp - 0x112c], 0
mov byte [ebp - 0x113c], 0
call fcn.00408450
mov eax, dword [ebp - 0x10f8]
mov byte [ebp - 4], 8
cmp eax, 0x10
jb 0x43af37
inc eax
lea ecx, [ebp - 0x110c]
push eax
push dword [ebp - 0x110c]
call fcn.004053c0
cmp dword [ebp - 0x1128], 0x10
lea eax, [ebp - 0x113c]
cmovae eax, dword [ebp - 0x113c]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43af70
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 7
push str.DmpName
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43afc0
xor ecx, ecx
jmp 0x43afd9
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43afd0
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.004546e1
test al, al
je 0x43b024
push ecx
push esi
pop eax
pop eax
pop esi
pop ecx
push eax
push edx
pop edx
push ebp
pop esp
push ebx
pop edi
push ebx
pop ebp
push edi
push ecx
pop eax
push eax
pop ebx
push edx
push ebp
push edi
push ecx
pop edi
push ecx
push esp
pop eax
pop esi
lea eax, [ebp - 0x110c]
push 0
push eax
call fcn.00461ba2
push eax
lea eax, [ebp - 0x11b4]
mov byte [ebp - 4], 0xa
push eax
call fcn.0045b0cd
add esp, 0x10
mov eax, dword [ebp - 0x10f8]
mov byte [ebp - 4], 0xc
cmp eax, 8
jb 0x43b068
inc eax
lea ecx, [ebp - 0x110c]
push eax
push dword [ebp - 0x110c]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x10f8], 7
push eax
push 0x5e270d
lea ecx, [ebp - 0x1124]
mov dword [ebp - 0x10fc], 0
mov word [ebp - 0x110c], ax
mov dword [ebp - 0x1110], 0xf
mov dword [ebp - 0x1114], eax
mov byte [ebp - 0x1124], al
call fcn.00405be0
push 0x5e6960
lea ecx, [ebp - 0x119c]
mov byte [ebp - 4], 0xd
call fcn.00405f10
lea eax, [ebp - 0x1124]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x119c]
push eax
lea eax, [ebp - 0x11b4]
push eax
call fcn.0045a3d1
mov eax, dword [ebp - 0x1188]
add esp, 0xc
cmp eax, 0x10
jb 0x43b0ff
inc eax
lea ecx, [ebp - 0x119c]
push eax
push dword [ebp - 0x119c]
call fcn.004053c0
mov eax, dword [ebp - 0x1110]
mov dword [ebp - 0x1188], 0xf
mov dword [ebp - 0x118c], 0
mov byte [ebp - 0x119c], 0
mov byte [ebp - 4], 0xc
cmp eax, 0x10
jb 0x43b13c
inc eax
lea ecx, [ebp - 0x1124]
push eax
push dword [ebp - 0x1124]
call fcn.004053c0
cmp dword [ebp - 0x11a0], 0x10
lea eax, [ebp - 0x11b4]
cmovae eax, dword [ebp - 0x11b4]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b170
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 2
push 0x5e6964
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b1c0
xor ecx, ecx
jmp 0x43b1d9
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b1d0
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.004547b0
test al, al
je 0x43b217
pop eax
push esi
pop eax
pop esp
pop edx
pop ebp
pop ebx
push edi
push edx
push edi
pop edx
push edx
push ebp
push eax
push ebp
push edx
push 0x5e28c4
lea ecx, [ebp - 0x1124]
call fcn.00403740
lea eax, [ebp - 0x1124]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x1214]
push eax
call fcn.0045af6f
add esp, 8
mov eax, dword [ebp - 0x1110]
mov byte [ebp - 4], 0x11
cmp eax, 8
jb 0x43b263
inc eax
lea ecx, [ebp - 0x1124]
push eax
push dword [ebp - 0x1124]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x1110], 7
cmp dword [ebp - 0x1200], 0x10
mov word [ebp - 0x1124], ax
lea eax, [ebp - 0x1214]
cmovae eax, dword [ebp - 0x1214]
push eax
lea eax, [ebp - 0x4e4]
mov dword [ebp - 0x1114], 0
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b2b2
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 7
push str.srfName
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b302
xor ecx, ecx
jmp 0x43b319
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b310
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.004546e1
test al, al
je 0x43b359
push esp
pop esp
pop ecx
pop eax
pop ecx
push esi
pop esp
push edx
push esi
pop ecx
pop eax
pop ebp
pop edx
push edx
pop esi
push ebx
pop edx
pop ecx
call fcn.004546e1
test al, al
je 0x43b382
push ecx
push ebx
pop ecx
pop eax
pop eax
push ebp
push ebp
push ebp
push eax
pop eax
push ebx
pop ecx
pop ebx
pop edx
pop edx
pop edi
push edx
push edx
push eax
push eax
push edi
push ecx
pop ebx
pop eax
pop ebp
pop ecx
push eax
pop ecx
pop esp
push eax
pop esp
pop edi
call fcn.0045483a
test al, al
je 0x43b39e
pop ebx
pop ecx
push eax
pop edx
push edx
push edx
pop edx
pop eax
pop ecx
push esp
push esi
pop ecx
pop edi
push ecx
push ebx
push esp
push esp
push ebx
pop ebp
push 0x5e38d0
lea ecx, [ebp - 0x11fc]
call fcn.00405f10
cmp dword [ebp - 0x11e8], 0x10
lea eax, [ebp - 0x11fc]
mov byte [ebp - 4], 0x12
cmovae eax, dword [ebp - 0x11fc]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b3e4
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 8
push str.IsWaiGua
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b434
xor ecx, ecx
jmp 0x43b449
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b440
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.004543ea
test al, al
je 0x43b487
push edi
pop esi
push ebx
push esi
push ebx
pop eax
push esi
push esp
push ebp
push edi
pop esi
push ebx
pop esp
pop esi
pop ebp
push esp
call fcn.00454726
test al, al
je 0x43b4a0
push ebp
push ebx
push ebp
pop ebx
pop esi
push edi
pop edi
push edx
pop edi
pop eax
push edi
pop ebp
pop esp
pop esp
push edi
pop ecx
mov eax, dword [ebp - 0x1364]
push dword [eax + 0x48]
lea eax, [ebp - 0x4e4]
push 0x5e697c
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b4c6
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 8
push str.ExitFlag
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b516
xor ecx, ecx
jmp 0x43b529
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b520
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454a62
test al, al
je 0x43b56a
push edx
push ecx
pop ecx
pop ecx
push ecx
push esp
push esi
pop ebp
pop ebp
push ebp
pop ecx
pop eax
push ecx
push eax
push edi
push eax
pop ebx
pop ebx
push esp
push 0
lea eax, [ebp - 0x4e4]
push 0x5e697c
push eax
call fcn.004084c0
add esp, 0xc
lea ecx, [ebp - 0x1184]
push 6
push str.MainId
call fcn.00405be0
lea ecx, [ebp - 0x4e4]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b5a0
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
cmp byte [ebp - 0x28c], 0
jne 0x43b5de
xor ecx, ecx
jmp 0x43b5f0
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b5e7
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454a62
test al, al
je 0x43b631
push esi
push edx
push eax
pop ebp
pop edx
pop edx
push edx
pop ebx
push ebp
pop eax
pop ebp
push eax
push esi
pop eax
pop esp
pop ecx
pop ecx
pop ebx
push ebp
push 0x5e38d0
lea ecx, [ebp - 0x11e4]
call fcn.00405f10
cmp dword [ebp - 0x11d0], 0x10
lea eax, [ebp - 0x11e4]
mov byte [ebp - 4], 0x13
cmovae eax, dword [ebp - 0x11e4]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b677
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 9
push str.InputMode
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b6c7
xor ecx, ecx
jmp 0x43b6d9
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b6d0
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454543
test al, al
je 0x43b71e
pop ecx
pop eax
pop edx
pop esi
pop ebx
push edi
push esi
push esi
pop edx
pop eax
pop esp
push ebx
pop ecx
pop ebx
pop ebp
pop edx
push ebx
pop eax
pop eax
pop ebp
push eax
pop ebp
push esi
call fcn.004544b9
test al, al
je 0x43b738
pop esi
push edx
push edx
pop edi
pop esi
pop eax
pop esi
push edi
push esi
pop edx
pop edi
push ebx
pop esp
push edi
pop ecx
push eax
pop edx
call fcn.0045483a
test al, al
je 0x43b75b
push edx
pop edi
push esp
push eax
push eax
pop esp
pop ebp
pop edi
pop eax
push edx
pop edx
push esi
push ecx
push eax
push edx
push ebp
pop edi
push ebx
pop edi
pop eax
push esi
pop edx
pop edx
pop esp
pop ebp
push edi
mov eax, dword [ebp - 0x1364]
add eax, 0x30
push eax
lea eax, [ebp - 0x11cc]
push eax
call fcn.0045af6f
cmp dword [ebp - 0x11b8], 0x10
lea eax, [ebp - 0x11cc]
mov byte [ebp - 4], 0x14
cmovae eax, dword [ebp - 0x11cc]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
lea ecx, [ebp - 0x4e4]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b7a7
lea eax, [ebp - 0x135c]
mov dword [ebp - 0x135c], 0x3e8
push eax
lea eax, [ebp - 0x28c]
sub ecx, edx
push eax
push ecx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0046746c
add esp, 0x10
lea ecx, [ebp - 0x1184]
push 7
push str.SaveDir
call fcn.00405be0
cmp byte [ebp - 0x28c], 0
jne 0x43b7f7
xor ecx, ecx
jmp 0x43b809
lea ecx, [ebp - 0x28c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43b800
sub ecx, edx
push ecx
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.00454993
test al, al
je 0x43b84e
push esi
push edi
push ecx
pop edi
push eax
pop ebx
pop esp
push esp
pop esp
pop edi
push ebx
pop edx
push esi
pop esp
push eax
push eax
pop ebx
pop ecx
push esp
pop ebp
pop esi
pop edx
push ecx
call fcn.004547b0
test al, al
je 0x43b876
push ebx
push edx
pop edx
push ebx
pop ebx
pop ecx
push eax
pop eax
pop esp
push edx
pop edx
pop ecx
push eax
pop esp
pop esp
push esp
push ebx
push esi
pop ebx
push edx
pop ebp
push ecx
push esp
push edx
pop edx
pop esp
pop edx
push ebx
push edx
pop esp
push ecx
call fcn.0045483a
test al, al
je 0x43b88f
push eax
push esp
pop edi
push esi
push edi
pop ebp
push ebx
push edx
pop ecx
push edi
push esp
pop esi
pop edx
pop ebx
pop esi
pop ebp
call fcn.0045494e
test al, al
je 0x43b8ab
push esp
push edi
push ebx
pop ebp
pop esi
pop eax
pop ebx
push esi
pop ebx
push esi
push edx
push edi
push ebp
pop ebx
pop edx
pop ebx
pop esp
pop esp
push edi
cmp dword [ebp - 0x11b8], 0x10
lea eax, [ebp - 0x11cc]
lea edi, [ebp - 0x11e4]
cmovae eax, dword [ebp - 0x11cc]
lea esi, [ebp - 0x1214]
cmp dword [ebp - 0x11d0], 0x10
lea edx, [ebp - 0x11fc]
mov dword [ebp - 0x1364], eax
lea ecx, [ebp - 0x11b4]
cmovae edi, dword [ebp - 0x11e4]
lea eax, [ebp - 0x113c]
push dword [ebp - 0x1364]
cmp dword [ebp - 0x1200], 0x10
push edi
cmovae esi, dword [ebp - 0x1214]
cmp dword [ebp - 0x11e8], 0x10
push 0
cmovae edx, dword [ebp - 0x11fc]
cmp dword [ebp - 0x11a0], 0x10
push esi
cmovae ecx, dword [ebp - 0x11b4]
cmp dword [ebp - 0x1128], 0x10
push edx
cmovae eax, dword [ebp - 0x113c]
push ecx
push eax
lea eax, [ebp - 0x6ec]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x7f0]
push str.Identifier_sSrfVer_sDmpName_sOS_sIsWaiGua_ssrfName_sMainId_dInputMode_sSaveDir_s
push eax
call fcn.004084c0
add esp, 0x2c
lea eax, [ebp - 0x7f0]
lea ecx, [ebp - 0x110c]
push eax
call fcn.00405f10
lea eax, [ebp - 0x110c]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x1358]
call fcn.0047500e
mov eax, dword [ebp - 0x10f8]
mov byte [ebp - 4], 0x14
cmp eax, 0x10
jb 0x43b99f
inc eax
lea ecx, [ebp - 0x110c]
push eax
push dword [ebp - 0x110c]
call fcn.004053c0
lea eax, [ebp - 0x110c]
push eax
lea ecx, [ebp - 0x1358]
call fcn.00475243
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x43b9bb
mov ecx, dword [ecx]
lea edx, [ebp - 0x8f4]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx], al
lea edx, [edx + 1]
test al, al
jne 0x43b9c1
mov eax, dword [ebp - 0x10f8]
cmp eax, 0x10
jb 0x43b9ed
inc eax
lea ecx, [ebp - 0x110c]
push eax
push dword [ebp - 0x110c]
call fcn.004053c0
lea eax, [ebp - 0x8f4]
push eax
lea eax, [ebp - 0x4e4]
push 0x5e6938
push eax
call fcn.004084c0
add esp, 0xc
lea ecx, [ebp - 0x1184]
push 4
push str.Code
call fcn.00405be0
cmp byte [ebp - 0x4e4], 0
jne 0x43ba27
xor ecx, ecx
jmp 0x43ba39
lea ecx, [ebp - 0x4e4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ba30
sub ecx, edx
push ecx
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x116c]
call fcn.00405be0
lea eax, [ebp - 0x1184]
push eax
lea ecx, [ebp - 0x13b4]
call fcn.0045560a
call fcn.004547b0
test al, al
je 0x43ba77
pop eax
push esi
pop eax
pop esp
pop edx
pop ebp
pop ebx
push edi
push edx
push edi
pop edx
push edx
push ebp
push eax
push ebp
push edx
push 0x5e270d
lea ecx, [ebp - 0x122c]
call fcn.00405f10
cmp dword [ebp - 0x121c], 0
mov byte [ebp - 4], 0x16
jne 0x43ba9b
xor edi, edi
jmp 0x43bc7f
cmp dword [ebp - 0x1230], 0x10
lea ecx, [ebp - 0x1244]
lea eax, [ebp - 0x122c]
cmovae ecx, dword [ebp - 0x1244]
cmp dword [ebp - 0x1218], 0x10
push ecx
cmovae eax, dword [ebp - 0x122c]
lea ecx, [ebp - 0x13b4]
push eax
call fcn.00455432
lea ecx, [ebp - 0x13b4]
call fcn.004558e9
mov edi, eax
mov ecx, 1
mov dword [ebp - 0x1370], edi
mov eax, dword [edi + 4]
sub eax, dword [edi]
cmove eax, ecx
mov dword [ebp - 0x1364], eax
call fcn.004543ea
test al, al
je 0x43bb0f
push edi
pop esi
push ebx
push esi
push ebx
pop eax
push esi
push esp
push ebp
push edi
pop esi
push ebx
pop esp
pop esi
pop ebp
push esp
call fcn.00454726
test al, al
je 0x43bb2e
push ebp
push ebx
push ebp
pop ebx
pop esi
push edi
pop edi
push edx
pop edi
pop eax
push edi
pop ebp
pop esp
pop esp
push edi
pop ecx
mov edi, dword [ebp - 0x1370]
push dword [ebp - 0x1364]
call fcn.00451376
push dword [ebp - 0x1364]
mov esi, eax
push 0
push esi
call fcn.0047be90
mov ecx, dword [edi + 4]
add esp, 0x10
xor edx, edx
sub ecx, dword [edi]
je 0x43bb67
mov eax, dword [edi]
mov al, byte [edx + eax]
mov byte [edx + esi], al
inc edx
mov eax, dword [edi + 4]
sub eax, dword [edi]
cmp edx, eax
jb 0x43bb55
lea ecx, [ebp - 0x136c]
call fcn.0046a411
lea eax, [ebp - 0x136c]
push eax
lea ecx, [ebp - 0x12cc]
call fcn.0046a419
push 0
lea ecx, [ebp - 0x1380]
mov byte [ebp - 4], 0x17
call fcn.00469159
push esi
lea ecx, [ebp - 0x110c]
mov byte [ebp - 4], 0x18
call fcn.00405f10
push 1
lea eax, [ebp - 0x1380]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x110c]
push eax
lea ecx, [ebp - 0x12cc]
call fcn.0046b447
mov ecx, dword [ebp - 0x10f8]
mov byte [ebp - 0x1365], al
mov byte [ebp - 4], 0x18
cmp ecx, 0x10
jb 0x43bbf2
inc ecx
push ecx
push dword [ebp - 0x110c]
lea ecx, [ebp - 0x110c]
call fcn.004053c0
mov al, byte [ebp - 0x1365]
test al, al
jne 0x43bc07
test esi, esi
je 0x43bc03
push esi
call fcn.0045137f
add esp, 4
xor edi, edi
jmp 0x43bc69
push str.status
lea ecx, [ebp - 0x1380]
call fcn.0046946c
mov ecx, eax
call fcn.00469fc7
test al, al
je 0x43bc3e
push str.status
lea ecx, [ebp - 0x1380]
call fcn.0046946c
mov ecx, eax
call fcn.00469741
movzx edi, al
jmp 0x43bc40
xor edi, edi
test esi, esi
je 0x43bc4d
push esi
call fcn.0045137f
add esp, 4
call fcn.00454a62
test al, al
je 0x43bc69
push edx
push ecx
pop ecx
pop ecx
push ecx
push esp
push esi
pop ebp
pop ebp
push ebp
pop ecx
pop eax
push ecx
push eax
push edi
push eax
pop ebx
pop ebx
push esp
lea ecx, [ebp - 0x1380]
call fcn.004692ca
lea ecx, [ebp - 0x12cc]
call fcn.0040ccd0
mov eax, dword [ebp - 0x1218]
cmp eax, 0x10
jb 0x43bc9d
inc eax
lea ecx, [ebp - 0x122c]
push eax
push dword [ebp - 0x122c]
call fcn.004053c0
mov eax, dword [ebp - 0x11b8]
mov dword [ebp - 0x1218], 0xf
mov dword [ebp - 0x121c], 0
mov byte [ebp - 0x122c], 0
cmp eax, 0x10
jb 0x43bcd6
inc eax
lea ecx, [ebp - 0x11cc]
push eax
push dword [ebp - 0x11cc]
call fcn.004053c0
mov eax, dword [ebp - 0x11d0]
mov dword [ebp - 0x11b8], 0xf
mov dword [ebp - 0x11bc], 0
mov byte [ebp - 0x11cc], 0
cmp eax, 0x10
jb 0x43bd0f
inc eax
lea ecx, [ebp - 0x11e4]
push eax
push dword [ebp - 0x11e4]
call fcn.004053c0
mov eax, dword [ebp - 0x11e8]
mov dword [ebp - 0x11d0], 0xf
mov dword [ebp - 0x11d4], 0
mov byte [ebp - 0x11e4], 0
cmp eax, 0x10
jb 0x43bd48
inc eax
lea ecx, [ebp - 0x11fc]
push eax
push dword [ebp - 0x11fc]
call fcn.004053c0
mov eax, dword [ebp - 0x1200]
mov dword [ebp - 0x11e8], 0xf
mov dword [ebp - 0x11ec], 0
mov byte [ebp - 0x11fc], 0
cmp eax, 0x10
jb 0x43bd81
inc eax
lea ecx, [ebp - 0x1214]
push eax
push dword [ebp - 0x1214]
call fcn.004053c0
mov eax, dword [ebp - 0x11a0]
mov dword [ebp - 0x1200], 0xf
mov dword [ebp - 0x1204], 0
mov byte [ebp - 0x1214], 0
cmp eax, 0x10
jb 0x43bdba
inc eax
lea ecx, [ebp - 0x11b4]
push eax
push dword [ebp - 0x11b4]
call fcn.004053c0
mov eax, dword [ebp - 0x1128]
mov dword [ebp - 0x11a0], 0xf
mov dword [ebp - 0x11a4], 0
mov byte [ebp - 0x11b4], 0
cmp eax, 0x10
jb 0x43bdf3
inc eax
lea ecx, [ebp - 0x113c]
push eax
push dword [ebp - 0x113c]
call fcn.004053c0
lea ecx, [ebp - 0x1184]
mov dword [ebp - 0x1128], 0xf
mov dword [ebp - 0x112c], 0
mov byte [ebp - 0x113c], 0
call fcn.0043a730
lea ecx, [ebp - 0x13b4]
call fcn.00454e5b
mov eax, dword [ebp - 0x1230]
cmp eax, 0x10
jb 0x43be42
inc eax
lea ecx, [ebp - 0x1244]
push eax
push dword [ebp - 0x1244]
call fcn.004053c0
mov dword [ebp - 0x1230], 0xf
mov dword [ebp - 0x1234], 0
mov byte [ebp - 0x1244], 0
mov eax, dword [ebp - 0x1140]
cmp eax, 8
jb 0x43be7b
inc eax
lea ecx, [ebp - 0x1154]
push eax
push dword [ebp - 0x1154]
call fcn.00403100
xor eax, eax
mov dword [ebp - 0x1140], 7
mov word [ebp - 0x1154], ax
mov eax, dword [ebp - 0x1248]
mov dword [ebp - 0x1144], 0
cmp eax, 0x10
jb 0x43beb6
inc eax
lea ecx, [ebp - 0x125c]
push eax
push dword [ebp - 0x125c]
call fcn.004053c0
lea ecx, [ebp - 0x135d]
mov dword [ebp - 0x1248], 0xf
mov dword [ebp - 0x124c], 0
mov byte [ebp - 0x125c], 0
call fcn.00428280
mov eax, edi
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.0045132d
mov esp, ebp
pop ebp
ret