Function at 0x490684
Capabilities:
Gather bulletproof-ftp information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x4916fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4a4664]
mov eax, dword [eax]
mov edx, 0x491714
call fcn.004321dc
mov ecx, 0x49172c
mov dl, 1
mov eax, dword [0x45a52c]
call fcn.0045b02c
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4906fa
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x491754
mov eax, dword [ebp - 4]
call fcn.0045adac
fstp qword [ebp - 0x1c]
wait
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x49070c
fld qword [ebp - 0x1c]
fcomp dword [0x49175c]
fnstsw ax
sahf
jne 0x49072d
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.0049988c
push ebp
call fcn.0049055c
pop ecx
jmp 0x49077d
fld qword [ebp - 0x1c]
fcomp dword [0x491760]
fnstsw ax
sahf
jae 0x490744
push ebp
call fcn.0049055c
pop ecx
jmp 0x49077d
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x49176c
mov edx, 0x49177c
mov eax, dword [ebp - 4]
call fcn.0045b074
cmp dword [ebp - 0x28], 0
je 0x49077d
push ebp
call fcn.0049055c
pop ecx
push 0
mov ecx, 0x49176c
mov edx, 0x49177c
mov eax, dword [ebp - 4]
call fcn.0045b140
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
mov dword [ebp - 0x20], eax
push 0
mov ecx, 0x491790
mov edx, 0x4917a4
mov eax, dword [ebp - 4]
call fcn.0045b1f0
test eax, eax
jle 0x490991
mov esi, eax
dec esi
test esi, esi
jb 0x490991
inc esi
xor ebx, ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x130]
call fcn.0044db48
mov dword [ebp - 0x10], eax
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x4917c4
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
call fcn.0044d7c8
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x4917d8
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x4917ec
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x4917fc
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x491814
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x28]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x2c]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x2c]
mov ecx, 0x49182c
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
push 0
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x2c]
lea eax, [ebx + 1]
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x4917b4
call fcn.00403e20
mov edx, dword [ebp - 0x28]
mov ecx, 0x49183c
mov eax, dword [ebp - 4]
call fcn.0045b074
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x14]
call fcn.004865cc
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x4907b7
push 1
mov ecx, 0x491850
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c8], al
mov eax, dword [ebp - 8]
cmp dword [eax + 0x5d4], 0
jne 0x4909e2
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491878
mov edx, 0x4917a4
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x5d4
call fcn.00403bac
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.0049209c
push 0x491890
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x4918ac
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x5cc
call fcn.00403bac
push 0xc8
mov ecx, 0x4918c4
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x480], eax
push 0
mov ecx, 0x4918d8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x484], eax
push 1
mov ecx, 0x4918f4
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x440]
mov dword [edx + 0xc], eax
push 1
mov ecx, 0x491910
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x420]
mov dword [edx + 0xc], eax
push 3
mov ecx, 0x49192c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x488], eax
xor ebx, ebx
mov dword [ebp - 0x24], 0x4a4410
xor edi, edi
mov eax, dword [ebp - 0x24]
mov esi, eax
xor eax, eax
mov al, byte [esi]
push eax
push 0x49193c
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
push dword [ebp - 0x2c]
lea edx, [ebp - 0x30]
mov eax, edi
call fcn.00407750
push dword [ebp - 0x30]
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00403e94
mov ecx, dword [ebp - 0x28]
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
lea edx, [ebx + ebx*2]
mov ecx, dword [ebp - 8]
lea edx, [ecx + edx]
mov byte [edx + edi + 0x50c], al
lea eax, [ebx + ebx*2]
mov edx, dword [ebp - 8]
lea eax, [edx + eax]
cmp byte [eax + edi + 0x50c], 2
jbe 0x490b39
lea eax, [ebx + ebx*2]
mov edx, dword [ebp - 8]
lea eax, [edx + eax]
mov dl, byte [esi]
mov byte [eax + edi + 0x50c], dl
inc edi
inc esi
cmp edi, 3
jne 0x490ac3
inc ebx
add dword [ebp - 0x24], 3
cmp ebx, 3
jne 0x490abc
push 1
mov ecx, 0x491950
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c3], al
push 1
mov ecx, 0x49196c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c0], al
push 0
mov ecx, 0x49197c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4d2], al
push 0
mov ecx, 0x491990
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x540], al
push 0
mov ecx, 0x4919a4
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4cb], al
push 1
mov ecx, 0x4919b8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c1], al
push 0x4919d0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x4919e0
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4f8
call fcn.00403bac
mov eax, dword [ebp - 8]
cmp dword [eax + 0x4f8], 0
jne 0x490c45
mov eax, dword [ebp - 8]
add eax, 0x4f8
mov edx, 0x4919d0
call fcn.00403bac
push 1
mov ecx, 0x4919f4
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c2], al
push 0
mov ecx, 0x491a10
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c5], al
push 1
mov ecx, 0x491a28
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c9], al
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491a40
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4d8
call fcn.00403bac
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491a58
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4dc
call fcn.00403bac
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491a70
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4e0
call fcn.00403bac
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491a88
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4e4
call fcn.00403bac
push 7
mov ecx, 0x491a9c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x5d8], eax
push 0
mov ecx, 0x491ab0
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x48c], eax
push 5
mov ecx, 0x491ac8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x490], eax
push 0
mov ecx, 0x491adc
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x498], eax
push 1
mov ecx, 0x491af0
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x49c], eax
push 1
mov ecx, 0x491b04
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x4a0], eax
push 0
mov ecx, 0x491b18
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x4a4], eax
push 3
mov ecx, 0x491b30
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x4b0], eax
push 1
mov ecx, 0x491b40
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4cc], al
push 1
mov ecx, 0x491b58
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x54e], al
push 0
mov ecx, 0x491b70
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4cf], al
push 1
mov ecx, 0x491b8c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4d5], al
push 2
mov ecx, 0x491ba8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x4b4], eax
push 2
mov ecx, 0x491bc0
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x4b8], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4b0]
dec eax
je 0x490ee6
dec eax
je 0x490ef8
dec eax
je 0x490f0a
jmp 0x490f1a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x380]
mov dl, 1
call fcn.00474928
jmp 0x490f1a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x384]
mov dl, 1
call fcn.00474928
jmp 0x490f1a
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x388]
mov dl, 1
call fcn.00474928
push 0x491bdc
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491be8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4f0
call fcn.00403bac
push 0
mov ecx, 0x491bfc
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4ca], al
xor ebx, ebx
inc ebx
cmp ebx, 7
jg 0x490f9d
mov eax, dword [ebx*4 + 0x4a4418]
push eax
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
mov edx, 0x491c10
mov eax, dword [ebp - 4]
call fcn.0045b074
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x14]
call fcn.0040735c
jmp 0x490fc8
push 0
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
mov edx, 0x491c10
mov eax, dword [ebp - 4]
call fcn.0045b074
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x14]
call fcn.0040735c
cmp dword [ebp - 0x14], 0
je 0x490fdf
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x508]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x14], 0
jne 0x490f64
push 0x491c28
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491c3c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x4e8
call fcn.00403bac
push 0
mov ecx, 0x491c4c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4c7], al
push 0
mov ecx, 0x491c64
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x4cd], al
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491c7c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x518
call fcn.00403bac
push 0x491c94
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491ca0
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x51c
call fcn.00403bac
push 0
mov ecx, 0x491cb8
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, dword [ebp - 8]
mov byte [edx + 0x5dc], al
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491cd4
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x5c4
call fcn.00403bac
push 0x491cf0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491cfc
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x5c8
call fcn.00403bac
push 0
mov ecx, 0x491d18
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov edx, dword [ebp - 8]
mov dword [edx + 0x528], eax
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491d30
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x524
call fcn.00403bac
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491d4c
mov edx, 0x491868
mov eax, dword [ebp - 4]
call fcn.0045b074
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
add eax, 0x520
call fcn.00403bac
push 0xffffd8f0
mov ecx, 0x491d64
mov edx, 0x491d74
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffd8f0
jle 0x4911b0
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00422008
push 0xffffd8f0
mov ecx, 0x491d88
mov edx, 0x491d74
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffd8f0
jle 0x4911e2
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00421fc8
push 0xffffd8f0
mov ecx, 0x491d94
mov edx, 0x491d74
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffd8f0
jle 0x491214
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00421fe8
push 0xffffd8f0
mov ecx, 0x491da4
mov edx, 0x491d74
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffd8f0
jle 0x491246
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00421fa8
mov edx, 0x491db4
mov eax, dword [0x4a5a8c]
call fcn.0046e584
push 0
mov ecx, 0x491de8
mov edx, 0x491df8
mov eax, dword [ebp - 4]
call fcn.0045b43c
mov edx, eax
mov eax, dword [0x4a45e0]
mov eax, dword [eax]
call fcn.0042e078
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x440]
mov eax, dword [eax + 0x140]
call fcn.0040fd2c
mov esi, eax
test esi, esi
jbe 0x49130a
mov ebx, 1
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x440]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
call fcn.0044d298
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x491e0c
call fcn.00403e20
mov ecx, dword [ebp - 0x28]
mov edx, 0x491e20
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x491306
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x440]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
mov edx, dword [ebp - 0xc]
call fcn.0044d2e8
inc ebx
dec esi
jne 0x491296
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x330]
mov eax, dword [eax + 0x140]
call fcn.0040fd2c
mov esi, eax
test esi, esi
jbe 0x491393
mov ebx, 1
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x330]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
call fcn.0044d298
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x491e30
call fcn.00403e20
mov ecx, dword [ebp - 0x28]
mov edx, 0x491e20
mov eax, dword [ebp - 4]
call fcn.0045b1f0
push eax
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x330]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
pop edx
call fcn.0044d2e8
inc ebx
dec esi
jne 0x491329
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x420]
mov eax, dword [eax + 0x140]
call fcn.0040fd2c
mov esi, eax
test esi, esi
jbe 0x49141c
mov ebx, 1
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x420]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
call fcn.0044d298
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x491e44
call fcn.00403e20
mov ecx, dword [ebp - 0x28]
mov edx, 0x491e20
mov eax, dword [ebp - 4]
call fcn.0045b1f0
push eax
mov edx, edi
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x420]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
pop edx
call fcn.0044d2e8
inc ebx
dec esi
jne 0x4913b2
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
mov eax, dword [eax + 0x140]
call fcn.0040fd2c
mov esi, eax
test esi, esi
jbe 0x4914b5
mov ebx, 1
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
call fcn.0044d298
push eax
lea edx, [ebp - 0x2c]
mov eax, ebx
call fcn.00407750
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
mov edx, 0x491e54
call fcn.00403e20
mov ecx, dword [ebp - 0x28]
mov edx, 0x491e20
mov eax, dword [ebp - 4]
call fcn.0045b1f0
mov dword [ebp - 0xc], eax
mov edx, edi
mov eax, dword [0x4a4660]
mov eax, dword [eax]
mov eax, dword [eax + 0x1dc]
mov eax, dword [eax + 0x140]
call fcn.0044d3d4
mov edx, dword [ebp - 0xc]
call fcn.0044d2e8
inc ebx
dec esi
jne 0x49143f
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4c6], 0
jne 0x491586
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491e6c
mov edx, 0x49177c
mov eax, dword [ebp - 4]
call fcn.0045b074
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x14]
call fcn.004865cc
cmp dword [ebp - 0x14], 0
je 0x491528
mov eax, dword [ebp - 0x14]
call fcn.00486b3c
fstp qword [ebp - 0x38]
wait
call fcn.00408cc4
fcomp qword [ebp - 0x38]
fnstsw ax
sahf
jb 0x491528
mov eax, dword [ebp - 0x14]
call fcn.00486b3c
fadd dword [0x491e80]
fstp xword [ebp - 0x44]
wait
call fcn.00408cc4
fld xword [ebp - 0x44]
fcompp
fnstsw ax
sahf
jae 0x49153c
mov eax, dword [ebp - 8]
mov byte [eax + 0x54f], 1
mov eax, dword [ebp - 8]
call fcn.0049c6c4
jmp 0x491586
push 0
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x491e8c
mov edx, 0x49177c
mov eax, dword [ebp - 4]
call fcn.0045b074
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x14]
call fcn.004865cc
cmp dword [ebp - 0x14], 0
je 0x49157e
mov eax, dword [ebp - 0x14]
call fcn.00486b3c
fstp qword [ebp - 0x38]
wait
call fcn.00408cc4
fcomp qword [ebp - 0x38]
fnstsw ax
sahf
jae 0x491586
mov eax, dword [ebp - 8]
call fcn.0049c6c4
mov eax, dword [ebp - 4]
call fcn.00402fac
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4c9], 0
je 0x4915ac
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x300]
mov dl, 0x2a
call fcn.00438270
jmp 0x4915bc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x300]
xor edx, edx
call fcn.00438270
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4c6], 0
je 0x49161b
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov eax, 0x491ea4
call fcn.00486d08
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4ec]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x4fc]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
pop eax
call fcn.00408660
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.00487a68
jmp 0x4916a3
mov eax, dword [ebp - 8]
cmp byte [eax + 0x4ce], 0
jne 0x4916a3
lea eax, [ebp - 0x28]
push eax
mov eax, 0x491ed0
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [ebp - 8]
call fcn.0049c8fc
movsx eax, al
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0
lea eax, [ebp - 0x54]
push eax
lea edx, [ebp - 0x2c]
mov eax, 0x491ef0
call fcn.00486d08
mov eax, dword [ebp - 0x2c]
mov ecx, 1
pop edx
call fcn.00408660
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.00487a68
lea edx, [ebp - 0x28]
mov eax, 0x491f48
call fcn.00486d08
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.00487a68
lea edx, [ebp - 0x28]
mov eax, 0x491fac
call fcn.00486d08
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.00487a68
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2e8]
call fcn.0042257c
mov edx, 0x491ff0
mov eax, dword [ebp - 8]
call fcn.0049c488
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0049c488
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x2d4]
call fcn.00467140
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x491704
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.00403b7c
lea eax, [ebp - 0x14]
call fcn.00403b58
ret