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

Disassembly:
sub esp, 0x6c
push ebx
mov ebx, dword [esp + 0x74]
push esi
push ebx
call fcn.00408c90
push 0x16
push ebx
mov dword [esp + 0x34], eax
call fcn.00408a60
mov esi, eax
push 0x16
push ebx
mov dword [esp + 0x40], esi
call fcn.00408a60
xor ecx, ecx
add esp, 0x14
cmp esi, ecx
mov dword [esp + 8], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], ecx
je 0x45acbe
cmp eax, ecx
je 0x45acbe
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x7c]
mov dword [ebx + 0x2580], edx
push ebp
mov eax, dword [esi + 4]
mov ebp, dword [esp + 0x94]
push edi
mov edi, dword [esp + 0x90]
cmp eax, ecx
je 0x459d95
cmp edx, ecx
jne 0x459d6b
cmp dword [esi + 0x18], ecx
jle 0x459d70
mov ecx, 1
mov edx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x98]
push ebp
push edx
push edi
push ecx
mov ecx, dword [esp + 0x9c]
push ecx
push eax
push ebx
call fcn.00459ce0
add esp, 0x20
mov dl, byte [ebx + 0x2450]
lea eax, [edi - 1]
and dl, 0xfb
mov byte [ebx + 0x2450], dl
mov edx, dword [ebx + 0x2574]
cmp edx, eax
jb 0x459db3
mov edx, eax
mov edi, dword [esp + 0x94]
mov ecx, edx
mov esi, ecx
mov eax, 0x2d2d2d2d
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x94]
mov ecx, edx
mov edi, ebp
mov byte [edx + eax], 0
mov eax, 0x2a2a2a2a
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x84]
mov byte [edx + ebp], 0
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x459e76
mov eax, dword [esi + 0x38]
mov dword [esi + 0x14], ebp
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], 0
mov ecx, dword [ebx + 0x2508]
mov edx, dword [ecx + 0x1c]
test dh, 2
jne 0x459e60
mov edx, dword [ebx + 0x250c]
push 0
push edx
push ecx
mov ecx, dword [esi + 0x88]
push ecx
push eax
push ebp
call sub.oranls9.dll_lxmopen
mov eax, dword [esi + 0x88]
mov edi, dword [esi + 0x30]
add esp, 0x18
mov edx, dword [eax + 8]
mov ebp, dword [eax + 0x10]
sub edx, ebp
add edi, edx
mov dword [esi + 0x30], edi
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x34]
sub ecx, edx
add eax, ecx
mov dword [esi + 0x34], eax
mov edi, dword [esi + 0x50]
push esi
or edi, 0x80
push ebx
mov dword [esi + 0x50], edi
call fcn.0045acf0
add esp, 8
mov eax, dword [esp + 0x84]
mov ecx, dword [ebx + 0x18c4]
cmp eax, ecx
jne 0x459e91
mov edx, dword [esp + 0x30]
push edx
jmp 0x45ac8d
test byte [ebx + 0x2450], 1
jne 0x45ac88
mov ecx, dword [eax + 0x18]
test ecx, ecx
jle 0x45aa9c
mov edi, dword [esp + 0x88]
xor ebp, ebp
cmp dword [edi], ebp
je 0x459edf
mov esi, dword [esp + 0x9c]
test byte [esi + 4], 2
je 0x459edf
mov dword [ebx + 0x2580], ebp
mov ecx, dword [esi + 0x48]
push ecx
push ebx
call fcn.004440e0
push esi
push ebx
call fcn.00443130
add esp, 0x10
mov dword [edi], ebp
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov ecx, eax
dec eax
test ecx, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], eax
je 0x45a9c8
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
xor edi, edi
mov esi, dword [edx]
cmp eax, edi
mov dword [esp + 0x1c], esi
mov edx, dword [esi + 8]
mov ebp, dword [esi + 4]
mov dword [esp + 0x38], edx
jne 0x459f73
mov eax, dword [esp + 0x94]
mov ecx, dword [ebp + 0x38]
push ebp
push ebx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x30], edi
call fcn.0045acf0
mov edx, dword [ebp + 0x50]
mov eax, dword [ebp + 0x38]
add esp, 8
or dl, 0x80
cmp eax, edi
mov dword [ebp + 0x50], edx
jne 0x459f53
mov eax, dword [ebp + 0x28]
jmp 0x459f5c
mov ecx, dword [ebp + 0x28]
cmp eax, ecx
ja 0x459f5c
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], 1
add ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x45a947
mov ecx, dword [esp + 0x48]
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x30], edi
add ecx, eax
movsx eax, word [edx + 0x10]
cmp edi, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x20], edi
jge case.default.0x45a374
xor ecx, ecx
mov cl, byte [edx + edi + 0x64]
cmp dword [esp + 0x18], ecx
je 0x459faa
inc edi
cmp edi, eax
jl 0x459f99
cmp edi, eax
mov dword [esp + 0x20], edi
jge case.default.0x45a374
mov ax, word [ebp + 0x48]
cmp ax, 2
je 0x459ff2
mov ecx, dword [esp + 0x18]
cmp ecx, 2
je 0x459ff2
cmp ecx, 5
je 0x459ff2
cmp ax, 1
je 0x459fe4
cmp ax, 0x60
je 0x459fe4
cmp ax, 0x61
jne case.default.0x45a374
cmp ecx, 4
je 0x459ff2
cmp ecx, 3
jne case.default.0x45a374
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x45a1dc
mov eax, dword [ebx + 0x18d4]
test eax, eax
mov dword [esp + 0x14], eax
je 0x45a1c8
mov ecx, dword [ebx + 0x2508]
mov eax, dword [ecx + 0x1c]
test ah, 2
je 0x45a0f6
test eax, 0x4000000
je 0x45a04e
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
push eax
call sub.oranls9.dll_lxsulen
add esp, 4
jmp 0x45a061
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edi, dword [ecx + 4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
inc eax
push eax
push ebx
call fcn.00408a60
mov esi, eax
add esp, 8
test esi, esi
je 0x45aae5
mov edi, dword [esp + 0x14]
mov edx, dword [edi + 4]
push edx
push esi
call sub.oracore9.dll_lstup
mov eax, dword [ebx + 0x2508]
add esp, 8
test dword [eax + 0x1c], 0x4000000
je 0x45a0a4
mov ecx, dword [edi + 4]
push ecx
call sub.oranls9.dll_lxsulen
add esp, 4
jmp 0x45a0b7
mov edx, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [edx + 4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
mov edx, dword [esp + 0x9c]
mov byte [eax + esi], 0
mov eax, dword [ebx + 0x250c]
mov ecx, dword [ebx + 0x2508]
push eax
mov eax, dword [edx + 0x48]
push ecx
push 0x10000000
mov ecx, dword [eax + 0x24]
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
push esi
call sub.oranls9.dll_lxsCmpStr
add esp, 0x1c
test eax, eax
je 0x45a23e
jmp 0x45a1a0
test eax, 0x4000000
je 0x45a10f
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
push eax
call sub.oranls9.dll_lxsulen
add esp, 4
jmp 0x45a122
mov ecx, dword [esp + 0x14]
xor eax, eax
mov edi, dword [ecx + 4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
mov edx, dword [ebx + 0x2508]
xor ecx, ecx
mov cl, byte [edx + 0x44]
imul ecx, eax
inc ecx
push ecx
push ebx
call fcn.00408a60
mov esi, eax
add esp, 8
test esi, esi
je 0x45aae5
mov edx, dword [ebx + 0x250c]
mov eax, dword [ebx + 0x2508]
mov ecx, dword [esp + 0x14]
push edx
push eax
push 0x10000020
mov edx, dword [ecx + 4]
push 0xffffffffffffffff
push edx
push 0xffffffffffffffff
push esi
call sub.oranls9.dll_lxsCnvCase
mov eax, dword [ebx + 0x250c]
mov edx, dword [esp + 0xb8]
mov ecx, dword [ebx + 0x2508]
push eax
mov eax, dword [edx + 0x48]
push ecx
push 0x10000000
push 0xffffffffffffffff
mov ecx, dword [eax + 0x24]
push ecx
push 0xffffffffffffffff
push esi
call sub.oranls9.dll_lxsCmpStr
add esp, 0x38
test eax, eax
je 0x45a23e
push esi
push ebx
call fcn.0040f330
mov edx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [edx]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x45a023
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x48]
mov eax, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + 0xc]
cmp eax, ebp
je 0x45a34e
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x45a34e
test eax, eax
je 0x45a34e
mov edi, dword [edx + edi*4 + 0x78]
test edi, edi
jne 0x45a215
mov edx, dword [esp + 0x18]
mov edi, dword [edx*8 + 0x4692d8]
mov eax, dword [ebx + 0x2508]
mov dword [esp + 0x14], edi
mov ecx, dword [eax + 0x1c]
test ch, 2
je 0x45a398
test ecx, 0x4000000
je 0x45a261
push edi
call sub.oranls9.dll_lxsulen
add esp, 4
jmp 0x45a271
push esi
push ebx
mov dword [esp + 0x44], 0
call fcn.0040f330
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
add esp, 8
jmp 0x45a1dc
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x38]
cmp eax, ecx
jb 0x45a284
mov eax, ecx
mov ecx, dword [esp + 0x90]
dec ecx
cmp eax, ecx
jb 0x45a292
mov eax, ecx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x98]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x84]
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x98]
mov dword [edx + 0x14], ecx
mov edx, dword [edi + 0xc]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0xc]
mov dword [eax + 0x30], 0
mov ecx, dword [ebx + 0x2508]
mov eax, dword [ecx + 0x1c]
test ah, 2
jne 0x45a335
mov edx, dword [ebx + 0x250c]
mov eax, dword [edi + 0xc]
push 0
push edx
mov edx, dword [eax + 0x34]
push ecx
mov ecx, dword [eax + 0x88]
mov eax, dword [eax + 0x14]
push ecx
push edx
push eax
call sub.oranls9.dll_lxmopen
mov eax, dword [edi + 0xc]
add esp, 0x18
mov ecx, dword [eax + 0x88]
mov edx, dword [ecx + 8]
sub edx, dword [ecx + 0x10]
mov ecx, dword [eax + 0x30]
add ecx, edx
mov dword [eax + 0x30], ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x88]
mov edx, dword [ecx + 0x10]
sub edx, dword [ecx + 8]
mov ecx, dword [eax + 0x34]
add ecx, edx
mov dword [eax + 0x34], ecx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x50]
or cl, 0x80
mov dword [eax + 0x50], ecx
mov eax, dword [edi + 0xc]
push eax
push ebx
call fcn.0045acf0
add esp, 8
mov edi, dword [ebp + 0x70]
test edi, edi
jne 0x45a358
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x50]
test cl, 0x10
jne case.default.0x45a374
mov edx, dword [esp + 0x18]
lea eax, [edx - 1]
cmp eax, 7
ja case.default.0x45a374
jmp dword [eax*4 + 0x45acc8]
mov ecx, dword [esi + 0xc]
lea eax, [esi + 0xc]
test ecx, ecx
jne 0x45a4bf
push ebp
push ebx
call fcn.0045ad20
add esp, 8
jmp case.default.0x45a374
test dword [eax + 0x1c], 0x4000000
je 0x45a3b2
mov eax, dword [esp + 0x14]
push eax
call sub.oranls9.dll_lxsulen
add esp, 4
mov edi, eax
jmp 0x45a3c2
mov edi, dword [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x3c], edi
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x38]
cmp edi, eax
jb 0x45a3db
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x250c]
mov ecx, dword [ebx + 0x2508]
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x54]
push ecx
push edx
push edi
push eax
call sub.oranls9.dll_lxmcpen
mov ecx, dword [ebx + 0x250c]
mov eax, dword [esp + 0x98]
mov edx, dword [ebx + 0x2508]
push 1
push ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0xac]
push edx
mov edx, dword [ecx + 0x88]
mov ecx, dword [esp + 0xb8]
dec eax
push edx
push eax
push ecx
call sub.oranls9.dll_lxmopen
mov edx, dword [ebx + 0x250c]
mov eax, dword [esp + 0x68]
push edx
push 0x10000000
mov edx, dword [esp + 0xc4]
push eax
push edi
mov edi, dword [esp + 0xc0]
lea ecx, [esp + 0x8c]
mov eax, dword [edi + 0xc]
push ecx
push edx
mov ecx, dword [eax + 0x88]
push ecx
call sub.oranls9.dll_lxoCpDisp
mov ecx, dword [edi + 0xc]
mov edx, dword [ebx + 0x250c]
add esp, 0x48
mov ecx, dword [ecx + 0x88]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 4]
test edx, edx
je 0x45a2b1
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x45a2b1
mov dword [ecx + 0x14], 0
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + 0x88]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov dl, byte [edx + 0x45]
mov byte [ecx], dl
mov ecx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x88]
inc dword [ecx + 8]
jmp 0x45a2b8
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x80]
push ecx
push edx
push 1
push 4
push eax
mov dword [esp + 0x94], 0x16
call sub.oracore9.dll_lnxmin
mov ecx, dword [esp + 0x94]
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x28]
push eax
push ecx
push eax
add esi, 0x14
push 0
push esi
call sub.oracore9.dll_lnxdiv
mov al, byte [ebp + 0x50]
add esp, 0x2c
test al, 2
je 0x45a539
mov edx, dword [ebx + 0x2508]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x14]
push edi
push eax
push ecx
push edx
call sub.oracore9.dll_lnxnuc
mov eax, dword [ebp + 0x14]
add esp, 0x14
mov byte [eax + edi], 0
jmp case.default.0x45a374
mov ecx, dword [ebx + 0x2508]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
jmp 0x45a912
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x45a56b
push ebp
push ebx
call fcn.0045ad20
add esp, 8
jmp case.default.0x45a374
mov eax, dword [ebx + 0x2508]
test cl, 2
push eax
je 0x45a596
mov ecx, dword [ebp + 0x14]
push edi
push ecx
add esi, 0x14
push 0
push esi
call sub.oracore9.dll_lnxnuc
mov edx, dword [ebp + 0x14]
add esp, 0x14
mov byte [edx + edi], 0
jmp case.default.0x45a374
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0xc]
push ecx
push edx
add esi, 0x14
push 0
push esi
jmp 0x45a917
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x80]
push eax
push ecx
push 1
add esi, 0x10
push 4
push esi
mov dword [esp + 0x94], 0x16
call sub.oracore9.dll_lnxmin
mov edx, dword [ebx + 0x2508]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x28]
push edi
push eax
push ecx
push edx
call sub.oracore9.dll_lnxnuc
mov eax, dword [ebp + 0x14]
add esp, 0x28
mov byte [eax + edi], 0
jmp case.default.0x45a374
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x80]
push ecx
push edx
push 1
add esi, 0xc
push 4
push esi
mov dword [esp + 0x94], 0x16
call sub.oracore9.dll_lnxmin
mov eax, dword [ebx + 0x2508]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x28]
push edi
push ecx
push edx
push eax
call sub.oracore9.dll_lnxnuc
mov ecx, dword [ebp + 0x14]
add esp, 0x28
mov byte [ecx + edi], 0
jmp case.default.0x45a374
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x45a55c
cmp word [ebp + 0x48], 2
jne 0x45a6ad
mov edx, dword [ebx + 0x2508]
test cl, 2
push edx
je 0x45a67a
mov eax, dword [ebp + 0x14]
push edi
push eax
push 0
add esi, 0x40
jmp 0x45a70e
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
add esi, 0x40
push 0
push esi
call sub.oracore9.dll_lnxnfn
mov dword [esp + 0x94], eax
mov edx, dword [ebp + 0x14]
add esp, 0x14
mov byte [edx + eax], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x34], eax
jmp case.default.0x45a374
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [eax + 0x40]
lea esi, [eax + 0x41]
mov dword [ebp + 0x34], ecx
mov edx, ecx
shr ecx, 2
mov dword [ebp + 0x30], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x34]
mov byte [eax + ecx], 0
jmp case.default.0x45a374
mov eax, dword [esi + 0xc]
test eax, eax
jle 0x45a55c
cmp word [ebp + 0x48], 2
jne 0x45a759
mov edx, dword [ebx + 0x2508]
test cl, 2
push edx
je 0x45a723
mov eax, dword [ebp + 0x14]
push edi
push eax
push 0
add esi, 0xfe1
push esi
call sub.oracore9.dll_lnxnuc
mov ecx, dword [ebp + 0x14]
add esp, 0x14
mov byte [ecx + edi], 0
jmp case.default.0x45a374
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
add esi, 0xfe1
push 0
push esi
call sub.oracore9.dll_lnxnfn
mov dword [esp + 0x94], eax
mov edx, dword [ebp + 0x14]
add esp, 0x14
mov byte [edx + eax], 0
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x34], eax
jmp case.default.0x45a374
mov eax, dword [esp + 0x1c]
mov edi, dword [ebp + 0x14]
xor ecx, ecx
mov cl, byte [eax + 0xfe1]
lea esi, [eax + 0xfe2]
mov dword [ebp + 0x34], ecx
mov edx, ecx
shr ecx, 2
mov dword [ebp + 0x30], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x34]
mov byte [eax + ecx], 0
jmp case.default.0x45a374
mov eax, dword [esi + 0xc]
test eax, eax
mov dword [esp + 0x24], eax
jne 0x45a7b6
push ebp
push ebx
mov dword [esp + 0x88], eax
call fcn.0045ad20
add esp, 8
jmp case.default.0x45a374
cmp eax, 1
jne 0x45a7e6
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x80]
push edx
push eax
push 2
lea ecx, [esp + 0x48]
push 4
push ecx
mov dword [esp + 0x50], 0
call sub.oracore9.dll_lnxmin
add esp, 0x14
jmp 0x45a8c2
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x80]
push edx
lea eax, [esi + 0x14]
push ecx
push 0
push eax
push 0
push eax
call sub.oracore9.dll_lnxmul
mov edx, dword [esp + 0x4c]
push 0
push edx
push 1
lea eax, [esp + 0x48]
push 4
push eax
call sub.oracore9.dll_lnxmin
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0xac]
push ecx
mov ecx, dword [esp + 0xb0]
push eax
push 0
push edx
push ecx
push eax
call sub.oracore9.dll_lnxdiv
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xc4]
add esp, 0x44
lea edx, [esp + 0x80]
add esi, 0x2a
push edx
push eax
push ecx
push eax
push 0
push esi
call sub.oracore9.dll_lnxsub
mov esi, dword [esp + 0x3c]
push 0
dec esi
lea edx, [esp + 0x40]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x50]
push esi
push 1
push 4
push edx
call sub.oracore9.dll_lnxmin
mov ecx, dword [esp + 0xac]
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x40]
push eax
push 0
push esi
push ecx
push eax
call sub.oracore9.dll_lnxdiv
mov eax, dword [esp + 0x5c]
add esp, 0x44
cmp eax, 7
jne 0x45a8c2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
lea edx, [esp + 0x80]
push edx
push eax
push ecx
push eax
call sub.oracore9.dll_lnxsqr
add esp, 0x10
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x45a8d9
push ebp
push ebx
call fcn.0045ad20
add esp, 8
jmp case.default.0x45a374
test byte [ebp + 0x50], 2
je 0x45a902
mov edx, dword [ebx + 0x2508]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push edi
push ecx
push eax
push edx
call sub.oracore9.dll_lnxnuc
mov eax, dword [ebp + 0x14]
add esp, 0x14
mov byte [eax + edi], 0
jmp case.default.0x45a374
mov ecx, dword [ebx + 0x2508]
mov edx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push ecx
push eax
mov edx, dword [esp + 0x20]
push edx
call sub.oracore9.dll_lnxnfn
mov dword [esp + 0x94], eax
mov ecx, dword [ebp + 0x14]
add esp, 0x14
mov byte [ecx + eax], 0
mov edx, dword [esp + 0x80]
mov dword [ebp + 0x34], edx
mov eax, dword [ebp + 0x50]
test al, 0x40
je 0x45a942
or al, 0x20
jmp 0x45a944
and al, 0xdf
mov dword [ebp + 0x50], eax
mov eax, dword [ebx + 0x2508]
mov ecx, dword [eax + 0x1c]
test ch, 2
jne 0x45a99c
mov ecx, dword [ebx + 0x250c]
mov edx, dword [ebp + 0x88]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x34]
push edx
push eax
push ecx
call sub.oranls9.dll_lxmopen
mov eax, dword [ebp + 0x88]
mov esi, dword [ebp + 0x30]
add esp, 0x18
mov edx, dword [eax + 8]
mov edi, dword [eax + 0x10]
sub edx, edi
add esi, edx
mov dword [ebp + 0x30], esi
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [ebp + 0x34]
sub ecx, edx
add eax, ecx
mov dword [ebp + 0x34], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
add edx, 4
mov dword [esp + 0x40], edx
mov edx, eax
dec eax
test edx, edx
mov dword [esp + 0x4c], eax
jne 0x459f03
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x18]
jmp 0x45a9d0
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
test ebp, ebp
jne 0x45a9f3
test esi, esi
jle 0x45a9f3
lea eax, [esi + 1]
push eax
push ebx
call fcn.00408bd0
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x44], edi
je 0x45aac9
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x48], edi
test eax, eax
je 0x45aa50
mov eax, dword [ebx + 0x4810]
mov dword [ebx + 0x2580], 1
mov dword [esp + 0x2c], 0
test byte [eax], 1
je 0x45aa32
test byte [eax + 4], 1
jne 0x45aa32
mov ecx, dword [esp + 0x9c]
push ecx
push ebx
call fcn.00417fe0
jmp 0x45aa40
mov edx, dword [esp + 0x9c]
push edx
push ebx
call fcn.00440000
mov eax, dword [esp + 0x94]
add esp, 8
mov dword [ebx + 0x2580], eax
test esi, esi
jle 0x45aa69
mov ecx, esi
mov eax, 0x20202020
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
inc ebp
cmp ebp, 9
mov dword [esp + 0x18], ebp
jl 0x459ee3
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov edx, ecx
dec ecx
test edx, edx
je 0x45aa9c
inc ecx
xor edx, edx
mov esi, dword [eax]
add eax, 4
dec ecx
mov esi, dword [esi + 4]
mov dword [esi + 0x34], edx
jne 0x45aa8e
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x84]
test byte [edi + 4], 2
mov eax, dword [esi + 0x1c]
je 0x45aaec
test eax, eax
jle 0x45ab09
mov eax, dword [esp + 0x88]
mov dword [eax], 1
jmp 0x45abfd
push 0
push 6
push 1
push 2
push ebx
call fcn.00409560
mov eax, dword [esp + 0x44]
push eax
push ebx
call fcn.00408ca0
add esp, 0x1c
xor esi, esi
jmp 0x45ac9b
test eax, eax
jle 0x45ab09
mov ecx, dword [edi + 0x48]
push ecx
push ebx
call fcn.004440e0
push edi
push ebx
call fcn.00443130
add esp, 0x10
jmp 0x45abfd
mov edx, dword [esi + 0x20]
test edx, edx
jle 0x45abfd
mov eax, dword [ebx + 0x182c]
mov dword [esp + 0x90], 0
test eax, eax
jle 0x45ab36
add eax, edx
mov dword [ebx + 0x182c], eax
jmp 0x45abfd
mov eax, dword [ebx + 0x25c0]
test eax, eax
je 0x45ab73
mov eax, dword [ebx + 0x4780]
cmp dword [eax], 0
je 0x45ab50
mov ecx, dword [eax + 0x10]
jmp 0x45ab52
xor ecx, ecx
mov eax, dword [ebx + 0x24f8]
sub eax, ecx
cmp edx, eax
jle 0x45ab73
sub edx, eax
mov dword [esp + 0x90], 1
mov dword [ebx + 0x182c], edx
mov edx, eax
test edx, edx
jle 0x45abfd
mov eax, dword [ebx + 0x4810]
test byte [eax], 1
jne 0x45abc1
mov ecx, dword [ebx + 0x2574]
mov ebp, dword [esp + 0x94]
mov esi, ecx
mov eax, 0x20202020
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
mov esi, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x9c]
push 1
push ebp
push ecx
push ebx
call fcn.00417610
add esp, 0x10
dec esi
jne 0x45abaa
mov eax, dword [esp + 0x90]
test eax, eax
je 0x45abf6
mov cl, byte [ebx + 0x2450]
mov esi, dword [esp + 0x9c]
or cl, 2
mov byte [ebx + 0x2450], cl
mov edx, dword [esi + 0x48]
push edx
push ebx
call fcn.004440e0
push esi
push ebx
call fcn.00443130
add esp, 0x10
mov esi, dword [esp + 0x84]
mov eax, dword [ebx + 0x250c]
mov ecx, dword [ebx + 0x2508]
mov edx, dword [esi + 8]
push eax
push ecx
push 0x10000000
push 0xffffffffffffffff
push str.report
push 0xffffffffffffffff
push edx
call sub.oranls9.dll_lxsCmpStr
add esp, 0x1c
test eax, eax
je 0x45ac81
mov eax, dword [ebx + 0x250c]
mov ecx, dword [ebx + 0x2508]
mov edx, dword [esi + 8]
push eax
push ecx
push 0x10000000
push 0xffffffffffffffff
push 0x46ed4c
push 0xffffffffffffffff
push edx
call sub.oranls9.dll_lxsCmpStr
add esp, 0x1c
test eax, eax
je 0x45ac81
mov eax, dword [ebx + 0x250c]
mov ecx, dword [ebx + 0x2508]
mov edx, dword [esi + 8]
push eax
push ecx
push 0x10000000
push 0xffffffffffffffff
push str.page
push 0xffffffffffffffff
push edx
call sub.oranls9.dll_lxsCmpStr
add esp, 0x1c
test eax, eax
jne 0x45ac88
mov dword [esi + 0xc], 0
mov eax, dword [esp + 0x30]
push eax
push ebx
call fcn.00408ca0
add esp, 8
mov esi, 1
mov ecx, dword [esp + 0x34]
push ecx
push ebx
call fcn.0040f330
mov edx, dword [esp + 0x18]
push edx
push ebx
call fcn.0040f330
add esp, 0x10
mov eax, esi
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x6c
ret
pop esi
xor eax, eax
pop ebx
add esp, 0x6c
ret