Function at 0x488360
Capabilities:
Get memory capacity
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4ebe1c
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x670f1c]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
lea edi, [esi + 0x1a334]
push edi
call edx
fcomp qword [0x4f67a8]
fnstsw ax
test ah, 5
jnp case.default.0x4892a4
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push edi
mov ecx, esi
call edx
cmp byte [esi + 0x19eec], 0
mov eax, dword [esi + 0x1a350]
mov ecx, dword [esi + 0x1a354]
mov edx, dword [esi + 0x19fce]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x19fd2]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x19fd6]
mov dword [esp + 0x7c], edx
mov edx, dword [esi + 0x19fda]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], edx
je 0x4884c0
xor edi, edi
mov dword [esi + 0x19fce], edi
call fcn.00419310
mov ecx, dword [esi + 0x19fce]
cmp ecx, dword [eax + 0x38]
jge 0x48842d
call fcn.00419310
mov edx, dword [eax + 0x38]
mov dword [esi + 0x19fce], edx
mov dword [esi + 0x19fd2], edi
call fcn.00419310
cmp byte [eax + 0x114], 0
je 0x48845f
call fcn.00419310
mov ecx, dword [esi + 0x19fd2]
cmp ecx, dword [eax + 0x44]
jge 0x48845f
call fcn.00419310
mov edx, dword [eax + 0x44]
mov dword [esi + 0x19fd2], edx
mov dword [esi + 0x19fd6], edi
call fcn.00419310
mov ecx, dword [esi + 0x19fd6]
cmp ecx, dword [eax + 0x4c]
jge 0x488483
call fcn.00419310
mov edx, dword [eax + 0x4c]
mov dword [esi + 0x19fd6], edx
mov dword [esi + 0x19fda], 1
call fcn.00419310
mov ecx, dword [esi + 0x19fda]
cmp ecx, dword [eax + 0x50]
jle 0x4884ab
call fcn.00419310
mov edx, dword [eax + 0x50]
mov dword [esi + 0x19fda], edx
mov dword [esi + 0x1a350], 0x400
mov dword [esi + 0x1a354], edi
jmp 0x488e72
mov byte [esp + 0x47], 0
call fcn.00419310
mov eax, dword [eax + 0x38]
mov dword [esi + 0x19fce], eax
mov eax, dword [esi + 0x19f02]
mov ecx, dword [esi + 0x19f22]
sub ecx, eax
test ecx, ecx
jle 0x4884f3
call fcn.00419310
mov edx, dword [eax + 0x40]
mov dword [esi + 0x19fce], edx
call fcn.00419310
mov eax, dword [eax + 0x44]
mov ecx, esi
mov dword [esi + 0x19fd2], eax
call fcn.00438af0
test al, al
jne 0x488529
push 0
mov ecx, esi
call fcn.00439dc0
test eax, eax
jg 0x488529
call fcn.00419310
mov ecx, dword [eax + 0x50]
mov dword [esi + 0x19fda], ecx
jmp 0x488537
call fcn.00419310
mov edx, dword [eax + 0x54]
mov dword [esi + 0x19fda], edx
call fcn.00419310
cmp dword [eax + 0x202], 0
je 0x488571
push 0
mov ecx, esi
call fcn.00439dc0
cmp eax, dword [esi + 0x19fda]
jl 0x488562
mov dword [esi + 0x19fda], 0
jmp 0x488571
push 0
mov ecx, esi
call fcn.00439dc0
sub dword [esi + 0x19fda], eax
call fcn.00419310
mov eax, dword [eax + 0x4c]
lea edi, [esi + 0x19fe2]
mov dword [esi + 0x19fd6], eax
mov eax, dword [edi]
test eax, eax
mov ebp, 1
je 0x488599
cmp eax, 7
jne 0x4886a3
call fcn.00419310
cmp dword [eax + 0x212], ebp
jne 0x48861e
mov ebx, dword [esi + 0x19fd6]
cmp ebx, ebp
jle 0x488614
push 2
mov ecx, edi
call fcn.00479190
test al, al
je 0x488614
mov ecx, edi
call fcn.0048d020
test eax, eax
jbe 0x48861e
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
jge 0x4885d8
fadd qword [0x4f9540]
fstp qword [esp + 0x2c]
call fcn.00419310
fild dword [eax + 0x216]
sub esp, 8
fdivr qword [esp + 0x34]
fstp qword [esp]
call fcn.004c9160
add esp, 8
call fcn.004c1540
test eax, eax
jne 0x488604
mov eax, ebp
cmp eax, dword [esi + 0x19fd6]
jge 0x48861e
mov dword [esi + 0x19fd6], eax
jmp 0x48861e
test ebx, ebx
jle 0x48861e
mov dword [esi + 0x19fd6], ebp
call fcn.00419310
cmp dword [eax + 0x20a], ebp
jne 0x4886a3
mov ebx, dword [esi + 0x19fda]
cmp ebx, ebp
jle 0x488699
push 3
mov ecx, edi
call fcn.00479190
test al, al
je 0x488699
mov ecx, edi
call fcn.0048d040
test eax, eax
jbe 0x4886a3
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
jge 0x48865d
fadd qword [0x4f9540]
fstp qword [esp + 0x2c]
call fcn.00419310
fild dword [eax + 0x20e]
sub esp, 8
fdivr qword [esp + 0x34]
fstp qword [esp]
call fcn.004c9160
add esp, 8
call fcn.004c1540
test eax, eax
jne 0x488689
mov eax, ebp
cmp eax, dword [esi + 0x19fda]
jge 0x4886a3
mov dword [esi + 0x19fda], eax
jmp 0x4886a3
test ebx, ebx
jle 0x4886a3
mov dword [esi + 0x19fda], ebp
call fcn.00419310
cmp dword [eax + 0x116], 0
jle 0x488caa
mov ecx, dword [esi + 0x1a266]
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x78c828
mov dword [esp + 0x58], ecx
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebp, dword [0x78c824]
push 0x78c828
call edi
push 0x78c828
call ebx
mov ebx, dword [0x78c820]
push 0x78c828
call edi
xor edi, edi
test ebp, ebp
jbe 0x48877f
test ebx, ebx
jbe 0x488743
cmp ebp, ebx
jae 0x488707
mov ebx, ebp
test ebx, ebx
mov dword [esp + 0x3c], ebx
fild dword [esp + 0x3c]
jge 0x488719
fadd qword [0x4f9540]
fmul qword [0x501048]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x3c], eax
fldcw word [esp + 0x3c]
fistp qword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
fldcw word [esp + 0x38]
jmp 0x4887bb
test ebp, ebp
mov dword [esp + 0x3c], ebp
fild dword [esp + 0x3c]
jge 0x488755
fadd qword [0x4f9540]
fmul qword [0x501048]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x3c], eax
fldcw word [esp + 0x3c]
fistp qword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
fldcw word [esp + 0x38]
jmp 0x4887bb
test ebx, ebx
jbe 0x4887bb
mov dword [esp + 0x3c], ebx
fild dword [esp + 0x3c]
jge 0x488793
fadd qword [0x4f9540]
fmul qword [0x501048]
fnstcw word [esp + 0x38]
movzx eax, word [esp + 0x38]
or eax, 0xc00
mov dword [esp + 0x3c], eax
fldcw word [esp + 0x3c]
fistp qword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
fldcw word [esp + 0x38]
mov ecx, dword [0x78c848]
test ecx, ecx
mov byte [esp + 0x35], 0
jle 0x4887e4
mov eax, dword [0x78c864]
sub eax, dword [0x78c858]
imul eax, eax, 0x64
cdq
idiv ecx
add eax, 0x64
mov dword [esp + 0x48], eax
jmp 0x4887ec
mov dword [esp + 0x48], 0x64
mov ecx, dword [esi + 0x19e7e]
test ecx, ecx
je 0x488804
call fcn.0048cf40
test al, al
mov byte [esp + 0x37], 1
jne 0x488809
mov byte [esp + 0x37], 0
mov ecx, dword [esi + 0x19e7e]
test ecx, ecx
mov byte [esp + 0x38], 0
je 0x48883c
call fcn.0048cfe0
fstp qword [esp + 0x2c]
call fcn.00419310
fld qword [esp + 0x2c]
fcomp qword [eax + 0x272]
mov byte [esp + 0x36], 1
fnstsw ax
test ah, 0x41
je 0x488841
mov byte [esp + 0x36], 0
mov ecx, dword [esi + 0x19e7e]
test ecx, ecx
je 0x488856
call fcn.0048cf80
mov dword [esp + 0x40], eax
jmp 0x48885e
mov dword [esp + 0x40], 0
call fcn.00419310
cmp dword [eax + 0x116], 2
jl 0x488918
call fcn.00419310
cmp dword [esi + 0x1a31c], 0
mov ebx, dword [eax + 0xc0]
lea ebp, [esi + 0x1a318]
ja 0x488894
cmp dword [ebp], 0
jbe 0x488a60
cmp dword [esp + 0x40], ebx
jg 0x4888ad
xor eax, eax
mov dword [esi + 0x1a314], eax
mov dword [ebp], eax
mov dword [ebp + 4], eax
jmp 0x488a7a
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push ebp
mov ecx, esi
call eax
fstp qword [esp + 0x2c]
call fcn.00419310
fld qword [esp + 0x2c]
fcomp qword [eax + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x488a7a
mov ecx, dword [esp + 0x40]
cmp ecx, dword [esi + 0x1a314]
jl 0x488a4a
mov byte [esp + 0x38], 1
mov dword [esi + 0x1a314], ebx
mov byte [esp + 0x35], 1
call fcn.00419310
cmp edi, dword [eax + 0x2c]
jbe 0x488907
call fcn.00419310
mov edi, dword [eax + 0x2c]
mov ecx, dword [esi + 0x19e7e]
test ecx, ecx
je 0x488918
push 1
call fcn.0048cfb0
test edi, edi
fld1
fstp qword [esp + 0x2c]
mov ebx, 1
jbe 0x4889d5
mov ebp, dword [esp + 0x54]
cmp edi, ebp
jae 0x4889d5
cmp byte [esi + 0x1a290], 0
jne 0x48897d
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp byte [esp + 0x36], dl
setne dl
xor eax, eax
cmp byte [esp + 0x38], al
setne al
push edx
xor edx, edx
cmp byte [esp + 0x3b], dl
push eax
mov eax, dword [esp + 0x50]
setne dl
push ecx
lea ecx, [esi + 0x192ac]
push edx
push eax
push edi
push 0x505788
push ecx
call fcn.00418e60
add esp, 0x20
mov edx, edi
test edx, edx
mov dword [esp + 0x54], edx
fild dword [esp + 0x54]
jge 0x488991
fadd qword [0x4f9540]
test ebp, ebp
mov dword [esp + 0x54], ebp
fild dword [esp + 0x54]
jge 0x4889a3
fadd qword [0x4f9540]
fdivp st(1)
mov byte [esi + 0x1a290], 1
mov dword [esi + 0x1a292], edi
xor eax, eax
mov dword [esi + 0x1925c], edi
mov dword [esi + 0x19260], eax
mov dword [esi + 0x19264], edi
mov dword [esi + 0x19268], eax
mov byte [esp + 0x47], 1
fstp qword [esp + 0x2c]
cmp byte [esp + 0x35], 0
je 0x488aaf
cmp dword [esi + 0x19fda], ebx
mov byte [esi + 0x1a320], 1
jle 0x488a13
mov dword [esi + 0x19fda], ebx
call fcn.00419310
mov ecx, dword [esi + 0x19fda]
cmp ecx, dword [eax + 0x50]
jle 0x488a13
call fcn.00419310
mov edx, dword [eax + 0x50]
mov dword [esi + 0x19fda], edx
mov dword [esi + 0x19fd6], ebx
call fcn.00419310
mov ecx, dword [esi + 0x19fd6]
cmp ecx, dword [eax + 0x4c]
jle 0x488a37
call fcn.00419310
mov edx, dword [eax + 0x4c]
mov dword [esi + 0x19fd6], edx
xor eax, eax
mov dword [esi + 0x19fce], eax
mov dword [esi + 0x19fd2], eax
jmp 0x488caa
mov edx, dword [esp + 0x40]
mov eax, dword [esi]
mov dword [esi + 0x1a314], edx
mov edx, dword [eax + 0x14]
push ebp
mov ecx, esi
call edx
jmp 0x488a7a
cmp dword [esp + 0x40], ebx
jle 0x488a7a
mov eax, dword [esp + 0x40]
mov edx, dword [esi]
mov dword [esi + 0x1a314], eax
mov eax, dword [edx + 0x14]
push ebp
mov ecx, esi
call eax
call fcn.00419310
mov ecx, dword [esp + 0x48]
cmp ecx, dword [eax + 0xb4]
jge 0x4888f0
cmp byte [esp + 0x37], 0
jne 0x4888f0
cmp byte [esp + 0x36], 0
jne 0x4888f0
mov byte [esp + 0x35], 0
jmp 0x488918
call fcn.00419310
mov edi, dword [eax + 0x28]
test edi, edi
mov dword [esp + 0x3c], edi
jle 0x488af9
lea ecx, [esi + 0x19fe2]
call fcn.00479170
test al, al
jne 0x488af9
mov eax, dword [esi + 0x1a0d6]
cmp eax, edi
mov dword [esp + 0x54], eax
jge 0x488af9
fild dword [esp + 0x54]
fidiv dword [esp + 0x3c]
fld qword [esp + 0x2c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x488af7
fstp qword [esp + 0x2c]
jmp 0x488af9
fstp st(0)
fld qword [0x4fb8a0]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 5
jp 0x488b95
push 0x40
lea eax, [esp + 0x88]
push 0
push eax
call fcn.004c16f0
add esp, 0xc
lea ecx, [esp + 0x84]
push ecx
mov dword [esp + 0x88], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x488b95
call fcn.00419310
mov edx, dword [esp + 0x90]
cmp edx, dword [eax + 0x90]
jb 0x488b89
ja 0x488b64
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x8c]
jbe 0x488b89
call fcn.00419310
mov edx, dword [esp + 0x98]
cmp edx, dword [eax + 0x98]
ja 0x488b95
jb 0x488b89
mov ecx, dword [esp + 0x94]
cmp ecx, dword [eax + 0x94]
ja 0x488b95
fld qword [0x4fb8a0]
fst qword [esp + 0x2c]
jmp 0x488baa
fld1
fld qword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x488ca8
fimul dword [esi + 0x19fce]
call fcn.004c1540
test eax, eax
mov dword [esi + 0x19fce], eax
jne 0x488be3
mov dword [esi + 0x19fce], ebx
call fcn.00419310
mov edx, dword [esi + 0x19fce]
cmp edx, dword [eax + 0x38]
jle 0x488be3
call fcn.00419310
mov eax, dword [eax + 0x38]
mov dword [esi + 0x19fce], eax
fild dword [esi + 0x19fd2]
fmul qword [esp + 0x2c]
call fcn.004c1540
test eax, eax
mov dword [esi + 0x19fd2], eax
jne 0x488c20
mov dword [esi + 0x19fd2], ebx
call fcn.00419310
mov ecx, dword [esi + 0x19fd2]
cmp ecx, dword [eax + 0x44]
jle 0x488c20
call fcn.00419310
mov edx, dword [eax + 0x44]
mov dword [esi + 0x19fd2], edx
mov edi, dword [esi + 0x19fda]
mov dword [esp + 0x54], edi
fild dword [esp + 0x54]
fmul qword [esp + 0x2c]
call fcn.004c1540
cmp edi, eax
jle 0x488c69
test eax, eax
mov dword [esi + 0x19fda], eax
jne 0x488c69
mov dword [esi + 0x19fda], ebx
call fcn.00419310
mov ecx, dword [esi + 0x19fda]
cmp ecx, dword [eax + 0x50]
jle 0x488c69
call fcn.00419310
mov edx, dword [eax + 0x50]
mov dword [esi + 0x19fda], edx
fild dword [esi + 0x19fd6]
fmul qword [esp + 0x2c]
call fcn.004c1540
test eax, eax
mov dword [esi + 0x19fd6], eax
jne 0x488caa
mov dword [esi + 0x19fd6], ebx
call fcn.00419310
mov ecx, dword [esi + 0x19fd6]
cmp ecx, dword [eax + 0x4c]
jle 0x488caa
call fcn.00419310
mov edx, dword [eax + 0x4c]
mov dword [esi + 0x19fd6], edx
jmp 0x488caa
fstp st(0)
mov eax, dword [esi + 0x19fe2]
test eax, eax
je 0x488cd2
cmp eax, 7
je 0x488cd2
mov dword [esi + 0x1a350], 0x400
mov dword [esi + 0x1a354], 0
jmp 0x488df4
call fcn.00419310
add eax, 0x1ea
push eax
lea ecx, [esp + 0x58]
call fcn.0048e520
cmp dword [esp + 0x5c], 0
jbe 0x488dc7
mov ecx, dword [esp + 0x58]
mov eax, dword [esi + 0x1a0d6]
mov ebp, dword [ecx]
lea edi, [esp + 0x54]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
lea ecx, [ecx]
test edi, edi
mov ebx, dword [esp + 0x58]
je 0x488d20
lea edx, [esp + 0x54]
cmp edi, edx
je 0x488d25
call fcn.004c000c
cmp ebp, ebx
je 0x488dc7
test edi, edi
jne 0x488d36
call fcn.004c000c
cmp ebp, dword [edi + 4]
jne 0x488d40
call fcn.004c000c
xor eax, eax
cmp eax, dword [ebp + 0x14]
jb 0x488d65
ja 0x488d52
mov eax, dword [esp + 0x48]
cmp eax, dword [ebp + 0x10]
jbe 0x488d65
lea ecx, [esp + 0x2c]
call fcn.00440300
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x488d10
cmp ebp, dword [edi + 4]
jne 0x488d6f
call fcn.004c000c
mov ebp, dword [ebp + 0x18]
sub ebp, 0
je 0x488dac
sub ebp, 1
jne 0x488dc7
lea ecx, [esp + 0x2c]
call fcn.00474610
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
xor ecx, ecx
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.004c1500
push ebp
push 0x64
push edx
push eax
call fcn.004c15f0
mov dword [esi + 0x1a350], eax
jmp 0x488dc1
lea ecx, [esp + 0x2c]
call fcn.00474610
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x1a350], ecx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x1a354], edx
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
push edi
lea eax, [esp + 0x58]
push eax
push ecx
mov edx, eax
push edx
lea edx, [esp + 0x3c]
push edx
mov ecx, eax
call fcn.004268d0
mov eax, dword [esp + 0x58]
push eax
call fcn.004aef39
add esp, 4
cmp byte [esp + 0x47], 0
jne 0x488e29
cmp byte [esi + 0x1a290], 0
je 0x488e18
lea ecx, [esi + 0x192ac]
push 0x505868
push ecx
call fcn.00418e60
add esp, 8
mov byte [esi + 0x1a290], 0
mov dword [esi + 0x1a292], 0
call fcn.00419310
fild dword [eax + 0x2c]
mov eax, dword [esi + 0x1a0d6]
test eax, eax
fmul qword [0x501048]
fst qword [esi + 0x1a358]
jbe 0x488e70
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
jge 0x488e57
fadd qword [0x4f9540]
fmul qword [0x4f67a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x488e70
fstp qword [esi + 0x1a358]
jmp 0x488e72
fstp st(0)
mov eax, dword [esi + 0x1a350]
cmp dword [esp + 0x64], eax
mov ecx, dword [esi + 0x1a354]
jne 0x488e8a
cmp dword [esp + 0x68], ecx
je 0x488ea2
push ecx
push eax
push 0x5058b8
lea edx, [esi + 0x192ac]
push 1
push edx
call fcn.00418e40
add esp, 0x14
mov eax, dword [esi + 0x19fce]
cmp dword [esp + 0x7c], eax
jne 0x488ed2
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esi + 0x19fd2]
jne 0x488ed2
mov edx, dword [esp + 0x6c]
cmp edx, dword [esi + 0x19fd6]
jne 0x488ed2
mov ecx, dword [esp + 0x74]
cmp ecx, dword [esi + 0x19fda]
je 0x488efe
mov edx, dword [esi + 0x19fd2]
mov ecx, dword [esi + 0x19fda]
push edx
push eax
mov eax, dword [esi + 0x19fd6]
push eax
push ecx
push 0x505910
lea edx, [esi + 0x192ac]
push 1
push edx
call fcn.00418e40
add esp, 0x1c
lea eax, [esi + 0x19fe2]
mov dword [esp + 0x40], eax
mov eax, dword [eax]
test eax, eax
je 0x488f13
cmp eax, 7
jne 0x488f3a
cmp byte [esi + 0x1a2be], 0
jne 0x488f3a
call fcn.00419310
fld qword [eax + 0x222]
fstp qword [esi + 0x1a368]
call fcn.00419310
fld qword [eax + 0x22a]
jmp 0x488f56
call fcn.00419310
fld qword [eax + 0x232]
fstp qword [esi + 0x1a368]
call fcn.00419310
fld qword [eax + 0x232]
movzx ecx, word [esi + 0x196c4]
fstp qword [esi + 0x1a370]
mov eax, dword [esi + 0x196ca]
push eax
lea edi, [esi + 0x1916a]
push ecx
mov ecx, edi
call fcn.0045d040
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x3c], ebx
je case.default.0x4892a4
lea ebp, [ebx + 0x5be]
push ebp
mov ecx, edi
call fcn.0045acc0
call fcn.004c1576
test edx, edx
ja 0x488fa4
cmp eax, 0x3e8
jb 0x488fb5
push edx
push eax
mov ecx, ebx
call fcn.0045a8b0
push ebp
mov ecx, edi
call fcn.0045ac20
lea ebp, [ebx + 0x5c6]
push ebp
mov ecx, edi
call fcn.0045acc0
call fcn.004c1576
test edx, edx
ja 0x488fd3
cmp eax, 0x3e8
jb 0x488fe4
push edx
push eax
mov ecx, ebx
call fcn.0045a980
push ebp
mov ecx, edi
call fcn.0045ac20
lea ebp, [ebx + 0x5ce]
push ebp
mov ecx, edi
call fcn.0045acc0
call fcn.004c1576
test edx, edx
ja 0x489002
cmp eax, 0x3e8
jb 0x489013
push edx
push eax
mov ecx, ebx
call fcn.00462740
push ebp
mov ecx, edi
call fcn.0045ac20
mov edx, dword [esi + 0x19cf6]
push edx
lea ecx, [esi + 0x19d66]
call fcn.0048e840
mov ecx, esi
call fcn.004370e0
mov ebx, dword [esp + 0x40]
mov ecx, ebx
call fcn.0048d4b0
xor edi, edi
cmp byte [esi + 0x19eec], 0
jne 0x489060
mov eax, dword [esi + 0x1a26a]
mov dword [esi + 0x1925c], eax
mov dword [esi + 0x19260], edi
mov dword [esi + 0x19264], eax
mov dword [esi + 0x19268], edi
mov eax, dword [ebx]
cmp eax, edi
je 0x4890b4
cmp eax, 7
je 0x4890b4
mov eax, dword [esi + 0x1a0d6]
cmp eax, edi
jbe 0x489296
mov ecx, dword [esi + 0x1970e]
sub ecx, dword [esi + 0x1971e]
mov edx, dword [esi + 0x19712]
sbb edx, dword [esi + 0x19722]
push edi
push eax
push edx
push ecx
call fcn.004c8fe0
cmp edx, edi
jg 0x489296
jl 0x4890ad
cmp eax, 0x1e
jae 0x489296
mov ecx, ebx
call fcn.0048d060
fld qword [0x5075b8]
mov eax, dword [esi + 0x19ce2]
cmp eax, edi
fstp qword [esp + 0x64]
fldz
mov dword [esp + 0x4e], edi
fstp qword [esp + 0x74]
mov word [esp + 0x4c], di
mov dword [esp + 0x38], eax
mov dword [esp + 0x48], edi
mov byte [esi + 0x19f8f], 0
je 0x489464
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x78], esp
push ecx
call fcn.00445490
mov ecx, dword [esp + 0x48]
add esp, 4
call fcn.00475a20
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
mov ebp, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], ebp
jmp 0x489120
test ebp, ebp
mov eax, dword [esp + 0x48]
mov ebx, dword [eax + 4]
je 0x48912f
cmp ebp, eax
je 0x489134
call fcn.004c000c
cmp edi, ebx
je 0x489464
test ebp, ebp
jne 0x489145
call fcn.004c000c
cmp edi, dword [ebp + 4]
jne 0x48914f
call fcn.004c000c
cmp dword [edi + 0x18], 0
je 0x489280
cmp edi, dword [ebp + 4]
jne 0x489163
call fcn.004c000c
mov edx, dword [edi + 0x18]
cmp dword [edx + 0x24], 0
je 0x489280
cmp edi, dword [ebp + 4]
jne 0x48917a
call fcn.004c000c
cmp edi, dword [ebp + 4]
mov eax, dword [edi + 0x18]
mov ebx, dword [eax + 0x24]
jne 0x48918a
call fcn.004c000c
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x6c], ecx
mov dx, word [edi + 0x10]
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
mov word [esp + 0x74], dx
call fcn.0045dae0
mov edi, eax
test edi, edi
je 0x489280
mov ebp, dword [esi]
lea ecx, [esp + 0x2c]
add ebp, 0x18
call fcn.004108b0
mov ecx, dword [eax + 0xc]
push ecx
mov ecx, esi
call fcn.00438c00
mov edx, dword [ebp]
add eax, 0xc
push eax
mov ecx, esi
call edx
fcomp qword [0x4f6a20]
fnstsw ax
test ah, 0x41
jne 0x489228
fld qword [esp + 0x64]
fcomp qword [edi]
fnstsw ax
test ah, 0x41
jne 0x48920c
lea ecx, [esp + 0x2c]
call fcn.004108b0
fld qword [edi]
mov cx, word [eax]
fstp qword [esp + 0x64]
mov edx, dword [eax + 2]
mov word [esp + 0x4c], cx
mov dword [esp + 0x4e], edx
fld qword [esp + 0x74]
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x489228
lea ecx, [esp + 0x2c]
call fcn.004108b0
fld qword [edi]
fstp qword [esp + 0x74]
push ebx
mov ecx, esi
call fcn.0049c670
test al, al
je 0x489280
mov ecx, dword [esi + 0x1a350]
mov eax, dword [esi + 0x1a354]
mov dword [esp + 0x7c], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x80], eax
fild qword [esp + 0x7c]
and ecx, 0x80000000
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], 0
fild qword [esp + 0x54]
fchs
faddp st(1)
fcomp qword [edi]
fnstsw ax
test ah, 5
jp 0x489280
mov byte [esi + 0x19f8f], 1
lea ecx, [esp + 0x2c]
call fcn.0043ff60
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
jmp 0x489120
mov eax, dword [ebx]
add eax, 0xfffffffd
cmp eax, 3
ja case.default.0x4892a4
jmp dword [eax*4 + 0x48972c]
cmp dword [esi + 0x19ce2], edi
je 0x489446
push edi
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
call fcn.0048e7a0
mov ecx, dword [esi + 0x19ce2]
add esp, 4
call fcn.00475840
cmp eax, edi
jbe 0x489446
mov ecx, esi
call fcn.00436d20
test eax, eax
je 0x489446
mov ecx, dword [esi + 0x19fe6]
mov edx, dword [esi + 0x19fea]
mov eax, dword [esi]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x64]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 0x18]
push ecx
mov ecx, esi
call edx
fcomp qword [0x506ff8]
fnstsw ax
test ah, 0x41
jne case.default.0x4892a4
lea ebp, [esi + 0x1914e]
mov ecx, ebp
xor ebx, ebx
call fcn.0043fac0
test eax, eax
jle 0x489381
push edi
mov ecx, ebp
call fcn.0043fae0
mov eax, dword [eax]
cmp byte [eax + 0x1d], 0x3f
je 0x489362
push edi
mov ecx, ebp
call fcn.0043fae0
mov ecx, dword [eax]
cmp byte [ecx + 0x1d], 0x40
je 0x489362
push edi
mov ecx, ebp
call fcn.0043fae0
mov edx, dword [eax]
cmp byte [edx + 0x1d], 0x4b
jne 0x489373
push edi
mov ecx, ebp
call fcn.0043fae0
mov eax, dword [eax]
mov byte [eax + 0x1c], 8
add ebx, 1
mov ecx, ebp
add edi, 1
call fcn.0043fac0
cmp edi, eax
jl 0x489332
push ebx
push 0x505990
push 1
add esi, 0x192ac
push esi
call fcn.00418e40
add esp, 0x10
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x19ce2], edi
je 0x4893dd
push edi
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x7c], esp
push ecx
call fcn.00445490
mov ecx, dword [esi + 0x19ce2]
add esp, 4
call fcn.00475840
cmp eax, edi
ja case.default.0x4892a4
mov ecx, ebx
call fcn.0048d090
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x19ce2], edi
je 0x489446
push edi
sub esp, 0xc
mov edx, esp
mov dword [esp + 0x7c], esp
push edx
jmp 0x489423
cmp dword [esi + 0x19ce2], edi
je 0x489446
push edi
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
call fcn.0048e780
mov ecx, dword [esi + 0x19ce2]
add esp, 4
call fcn.00475840
cmp eax, edi
jbe 0x489446
cmp dword [esi + 0x19836], edi
ja case.default.0x4892a4
mov ecx, ebx
call fcn.0048d090
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x19cf6], 0
jne 0x48968b
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
lea edi, [esi + 0x1a344]
push edi
mov ecx, esi
call eax
fcomp qword [0x4f6a28]
fnstsw ax
test ah, 0x41
jne 0x48968b
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push edi
mov ecx, esi
call eax
mov edi, dword [esp + 0x38]
test edi, edi
je 0x48968b
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x48968b
cmp dword [esp + 0x4e], 0
je 0x48968b
cmp word [esp + 0x4c], 0
je 0x48968b
mov eax, dword [ebx + 8]
cmp eax, dword [esi + 0x19fce]
jl 0x48968b
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
xor ebp, ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x74], ebx
lea ecx, [ecx]
mov edx, dword [ebx + 4]
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x7c], edx
call fcn.0043fc80
test al, al
je 0x48957c
lea ecx, [esp + 0x2c]
call fcn.004108b0
mov edx, dword [eax]
mov ax, word [eax + 4]
sub esp, 8
mov ecx, esp
mov dword [ecx], edx
mov word [ecx + 4], ax
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call fcn.004749b0
lea edx, [esp + 0x6c]
push edx
mov ecx, edi
call fcn.00474860
push eax
lea ecx, [esp + 0x68]
call fcn.0043fc80
test al, al
je 0x48956e
lea ecx, [esp + 0x64]
call fcn.004108b0
cmp dword [eax + 8], 0
je 0x48956e
lea ecx, [esp + 0x64]
call fcn.004108b0
mov eax, dword [eax + 8]
cmp word [eax + 0x10], 1
jne 0x48956e
add ebp, 1
lea ecx, [esp + 0x2c]
call fcn.0043ff60
jmp 0x4894f0
cmp ebp, dword [esi + 0x19fd2]
setge al
neg al
sbb eax, eax
sub esp, 0xc
and eax, 0xffff0001
add eax, 0xffff
mov ecx, esp
mov dword [esp + 0x78], esp
push eax
call fcn.00445380
mov ecx, dword [esp + 0x58]
mov dx, word [esp + 0x5c]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov ecx, edi
mov word [eax + 4], dx
call fcn.00475b20
test al, al
je 0x48968b
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
call fcn.00477520
mov edx, dword [ebx + 4]
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ebx
call fcn.0043fc80
test al, al
je 0x48968b
mov ecx, dword [esp + 0x4e]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x78]
call fcn.00410de0
movzx edx, word [esp + 0x4c]
push edx
mov ecx, eax
mov dword [esp + 0x104], 0
call fcn.00410900
push eax
lea eax, [esi + 0x192ac]
push 0x505a50
push eax
call fcn.00418e60
add esp, 0x10
lea ecx, [esp + 0x74]
mov dword [esp + 0x100], 0xffffffff
call fcn.00406960
lea ecx, [esp + 0x2c]
call fcn.004108b0
cmp dword [eax + 8], 0
je 0x48966c
lea ecx, [esp + 0x2c]
call fcn.004108b0
mov ecx, dword [eax + 8]
mov byte [ecx + 0x1c], 7
lea ecx, [esp + 0x2c]
call fcn.004108b0
cmp dword [eax + 0xc], 0
je 0x48968b
lea ecx, [esp + 0x2c]
call fcn.004108b0
mov edx, dword [eax + 0xc]
mov byte [edx + 0x1c], 7
cmp byte [esi + 0x19f8f], 0
mov edi, 1
je 0x4896b9
mov eax, dword [esp + 0x3c]
cmp dword [eax + 0x5e2], edi
jbe 0x4896b9
mov eax, dword [esp + 0x40]
xor ecx, ecx
mov dword [eax + 0x2b8], ecx
mov dword [eax + 0x2bc], ecx
jmp 0x4896ff
call fcn.00419310
mov eax, dword [eax + 0x21a]
sub eax, 0
je 0x4896ef
sub eax, edi
mov eax, dword [esp + 0x40]
jne 0x4896ff
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x2b8], edi
cmp dword [ecx + 0x5e2], edi
ja 0x4896f9
mov dword [eax + 0x2bc], 0xffffffff
jmp 0x4896ff
mov eax, dword [esp + 0x40]
mov dword [eax + 0x2b8], edi
mov dword [eax + 0x2bc], edi
cmp word [esi + 0x194fe], 5
jne case.default.0x4892a4
mov dword [eax + 0x2b8], edi
mov dword [eax + 0x2bc], edi
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret