Function at 0x58b350
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x3a
push 0
push 0
dec ecx
jne 0x58b358
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0xf8]
mov edx, dword [0x5eb284]
call fcn.004014a8
xor eax, eax
push ebp
push 0x58cb00
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xfc]
add eax, 0x74
call fcn.00401288
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x70], 0
xor edx, edx
mov eax, 0x58cb1c
call fcn.005006cc
lea eax, [ebp - 0x2c]
mov edx, 0x58cb4c
call fcn.004013d8
xor eax, eax
push ebp
push 0x58b3eb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x2c]
call fcn.00501844
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0x64], eax
push 0
call fcn.00402290
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58b423
xor ecx, ecx
mov dl, 1
mov eax, dword [0x495344]
call fcn.0046d86c
mov ebx, eax
mov eax, dword [ebp - 0xfc]
mov dword [eax + 0x68], ebx
cmp dword [ebx + 0x90], 0
jne 0x58b45a
mov edx, ebx
mov eax, dword [0x4711d4]
call fcn.004715bc
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x90]
mov dl, 3
call fcn.0047159c
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
call fcn.00489db4
xor eax, eax
push ebp
push 0x58b4ce
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x120]
call fcn.00429bd0
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 4]
call fcn.00402640
lea eax, [ebp - 0x124]
call fcn.00500350
mov eax, dword [ebp - 0x124]
lea edx, [ebp - 8]
call fcn.00402640
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58b506
cmp dword [ebp - 4], 0
je 0x58b51b
mov eax, dword [ebp - 4]
mov edx, 0x58cbbc
call fcn.00401468
jne 0x58b528
lea eax, [ebp - 4]
mov edx, 0x58cbcc
call fcn.004013d8
cmp dword [ebp - 8], 0
je 0x58b53d
mov eax, dword [ebp - 8]
mov edx, 0x58cbbc
call fcn.00401468
jne 0x58b54a
lea eax, [ebp - 8]
mov edx, 0x58cbcc
call fcn.004013d8
push dword [ebp - 4]
push 0x58cbe4
push dword [ebp - 8]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00401460
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x44]
lea eax, [ebp - 0x14]
mov edx, 0x58cbf4
call fcn.00401458
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5eb944]
call fcn.00403218
mov dword [ebp - 0x100], eax
mov dl, 1
mov eax, dword [0x5eb964]
call fcn.00403128
mov dword [ebp - 0x104], eax
push 0x58cc10
push dword [ebp - 4]
push 0x58cc38
push dword [ebp - 8]
push dword [ebp - 0x14]
push 0x58cc54
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00401460
push 0x58cc10
push dword [ebp - 4]
push 0x58cc38
push dword [ebp - 8]
push dword [ebp - 0x14]
push 0x58cc54
lea eax, [ebp - 0x12c]
mov edx, 6
call fcn.00401460
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x30]
mov ecx, 0
call fcn.00401420
lea eax, [ebp - 0x10]
mov edx, 0x58cc6c
call fcn.004013d8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x104]
call fcn.00402f48
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov dl, 1
call fcn.004974e4
mov eax, dword [ebp - 0xfc]
mov ebx, dword [eax + 0x68]
mov byte [ebx + 0x138], 1
mov eax, ebx
call fcn.00497cac
add eax, 0x98
mov edx, 0x58cccc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
call fcn.00497cac
add eax, 0xc
mov edx, 0x58cd5c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
call fcn.00497cac
add eax, 0x78
mov edx, 0x58cd80
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
call fcn.00497cac
add eax, 0x40
mov edx, 0x58cdd8
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov edx, 0x4e20
call fcn.004749d8
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov edx, 0x4e20
call fcn.004749f0
lea eax, [ebp - 0x20]
mov edx, 0x58ce28
call fcn.004013d8
xor ebx, ebx
mov dl, 1
mov eax, dword [0x5eb964]
call fcn.00403128
mov dword [ebp - 0x108], eax
xor eax, eax
push ebp
push 0x58b793
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x10]
call fcn.00495e2c
lea edx, [ebp - 0x130]
mov eax, dword [ebp - 0x100]
call fcn.00403230
mov eax, dword [ebp - 0x130]
lea edx, [ebp - 0x1c]
call fcn.00402640
lea ecx, [ebp - 0x108]
mov edx, 0x58ce3c
mov eax, dword [ebp - 0x1c]
call fcn.0058e8a0
lea ecx, [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x108]
mov esi, dword [eax]
call dword [esi + 0xc]
lea edx, [ebp - 0x138]
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x138]
lea eax, [ebp - 0x134]
mov edx, 0x58ce4c
call fcn.00401458
mov eax, dword [ebp - 0x134]
xor edx, edx
call fcn.005006cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58b7cd
test bl, bl
je 0x58b9b2
mov eax, dword [ebp - 0xfc]
cmp byte [eax + 0x50], 0
je 0x58b9b2
xor ebx, ebx
lea eax, [ebp - 0x20]
mov edx, 0x58ce28
call fcn.004013d8
mov eax, dword [ebp - 0x108]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
call fcn.00489db4
lea edx, [ebp - 0x140]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x54]
call fcn.00402640
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
call fcn.00489f40
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x58]
mov edx, 0x1f90
call fcn.00402680
mov edx, eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
call fcn.00489f24
lea edx, [ebp - 0x144]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x5c]
call fcn.00402640
mov edx, dword [ebp - 0x144]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
add eax, 0x14
call fcn.004013d0
lea edx, [ebp - 0x148]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x60]
call fcn.00402640
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov eax, dword [eax + 0x144]
add eax, 8
call fcn.004013d0
xor eax, eax
push ebp
push 0x58b978
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp - 0x104]
mov edx, dword [ebp - 0x10]
call fcn.00495e2c
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 0x100]
call fcn.00403230
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 0x1c]
call fcn.00402640
lea ecx, [ebp - 0x108]
mov edx, 0x58ce3c
mov eax, dword [ebp - 0x1c]
call fcn.0058e8a0
lea ecx, [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x108]
mov esi, dword [eax]
call dword [esi + 0xc]
lea edx, [ebp - 0x154]
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x154]
lea eax, [ebp - 0x150]
mov edx, 0x58ceb0
call fcn.00401458
mov eax, dword [ebp - 0x150]
xor edx, edx
call fcn.005006cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58b9b2
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x68]
call fcn.00401130
test bl, bl
je 0x58bc4d
lea eax, [ebp - 0x20]
mov edx, 0x58ce28
call fcn.004013d8
xor eax, eax
push ebp
push 0x58bc15
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4e360c]
call fcn.004e49cc
mov edx, dword [ebp - 0xfc]
mov dword [edx + 0x6c], eax
mov dl, 1
mov eax, dword [0x5eb94c]
call fcn.00401120
mov ebx, eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
mov dword [eax + 0x1a0], ebx
lea eax, [ebp - 0x30]
xor edx, edx
call fcn.004012c0
call fcn.004012f8
push eax
lea eax, [ebp - 0x30]
xor edx, edx
call fcn.004012c0
lea eax, [ebp - 0x30]
call fcn.00401338
mov edx, eax
mov eax, ebx
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x1a0]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov dl, 1
mov eax, dword [0x5eb94c]
call fcn.00401120
mov edx, dword [ebp - 0xfc]
mov ebx, dword [edx + 0x6c]
mov dword [ebx + 0x188], eax
lea eax, [ebx + 0xec]
mov edx, dword [ebp - 0x10]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov ebx, dword [eax + 0x6c]
mov eax, dword [ebp - 0xfc]
mov dword [ebx + 0x32c], eax
mov dword [ebx + 0x328], 0x58b228
lea eax, [ebx + 0x16c]
mov edx, 0x58cdd8
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
mov dword [eax + 0x374], 0x4e20
mov eax, dword [ebp - 0xfc]
cmp byte [eax + 0x50], 0
je 0x58bb79
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x54]
call fcn.00402640
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
add eax, 0x90
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
add eax, 0x94
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x58]
call fcn.004013d0
lea edx, [ebp - 0x160]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x5c]
call fcn.00402640
mov edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
add eax, 0xa8
call fcn.004013d0
lea edx, [ebp - 0x164]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x60]
call fcn.00402640
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
add eax, 0xac
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x6c]
call fcn.004ecee0
lea eax, [ebp - 0x168]
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x74]
call fcn.00401418
mov eax, dword [ebp - 0x168]
lea edx, [ebp - 0x1c]
call fcn.00402640
mov eax, dword [ebp - 0x108]
mov edx, dword [eax]
call dword [edx + 0x44]
lea ecx, [ebp - 0x108]
mov edx, 0x58ce3c
mov eax, dword [ebp - 0x1c]
call fcn.0058e8a0
lea ecx, [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x170]
lea eax, [ebp - 0x16c]
mov edx, 0x58cf14
call fcn.00401458
mov eax, dword [ebp - 0x16c]
xor edx, edx
call fcn.005006cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58bc4d
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x20]
mov edx, 0x58cf78
call fcn.00401458
mov eax, dword [ebp - 0x178]
xor edx, edx
call fcn.005006cc
mov eax, dword [ebp - 0x20]
mov edx, 0x58cfb8
call fcn.00401468
jne 0x58bd62
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58cfe0
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x94
xor edx, edx
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x98
xor edx, edx
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0x20]
mov edx, 0x58d000
call fcn.00401468
jne 0x58be33
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58cfe0
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0x20]
mov edx, 0x58d014
call fcn.00401468
jne 0x58c4ad
lea eax, [ebp - 0x17c]
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
movzx edx, word [edx + 0x2a]
call fcn.004013f0
mov eax, dword [ebp - 0x17c]
lea edx, [ebp - 0x24]
call fcn.004025f0
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
movzx edx, word [edx + 0x2c]
call fcn.004013f0
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x28]
call fcn.004025f0
mov eax, dword [ebp - 0x24]
mov edx, 0x58cbbc
call fcn.00401468
jne 0x58c003
mov eax, dword [ebp - 0x28]
mov edx, 0x58d028
call fcn.00401468
je 0x58bee5
mov eax, dword [ebp - 0x28]
mov edx, 0x58d038
call fcn.00401468
je 0x58bee5
mov eax, dword [ebp - 0x28]
mov edx, 0x58d048
call fcn.00401468
je 0x58bee5
mov eax, dword [ebp - 0x28]
mov edx, 0x58d058
call fcn.00401468
jne 0x58c003
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d068
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cbbc
call fcn.004013d0
lea ecx, [ebp - 0x184]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
call fcn.004013d0
lea ecx, [ebp - 0x188]
mov edx, 2
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x188]
mov eax, dword [ebp - 0xfc]
add eax, 0x90
call fcn.004013d0
lea ecx, [ebp - 0x18c]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0xfc]
add eax, 0xa4
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58d07c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0x28]
mov edx, 0x58d08c
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d09c
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0ac
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0bc
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0cc
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0dc
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0ec
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0fc
call fcn.00401468
je 0x58c08e
mov eax, dword [ebp - 0x28]
mov edx, 0x58d10c
call fcn.00401468
jne 0x58c3ef
lea eax, [ebp - 0xe4]
mov edx, 0x58d11c
call fcn.004013d8
mov word [ebp - 0xf0], 0x2d
mov word [ebp - 0xee], 0x3a
lea ecx, [ebp - 0x190]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0xf8]
call fcn.00402898
fstp qword [ebp - 0x110]
wait
lea ecx, [ebp - 0x194]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x194]
lea edx, [ebp - 0xf8]
call fcn.00402898
fstp qword [ebp - 0x118]
wait
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call fcn.0045ac50
mov ebx, eax
cmp ebx, 3
jge 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0cc
call fcn.00401468
je 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0dc
call fcn.00401468
je 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0ec
call fcn.00401468
je 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d0fc
call fcn.00401468
je 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d10c
call fcn.00401468
je 0x58c2d1
mov eax, dword [ebp - 0x28]
mov edx, 0x58d08c
call fcn.00401468
je 0x58c2d1
lea eax, [ebp - 0x20]
mov edx, 0x58cbbc
call fcn.004013d8
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d068
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cbbc
call fcn.004013d0
lea ecx, [ebp - 0x198]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
call fcn.004013d0
lea ecx, [ebp - 0x19c]
mov edx, 2
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0xfc]
add eax, 0x90
call fcn.004013d0
lea ecx, [ebp - 0x1a0]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0xfc]
add eax, 0xa4
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58d07c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d150
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cbbc
call fcn.004013d0
lea ecx, [ebp - 0x1a4]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
call fcn.004013d0
lea ecx, [ebp - 0x1a8]
mov edx, 2
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xfc]
add eax, 0x90
call fcn.004013d0
lea ecx, [ebp - 0x1ac]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0xfc]
add eax, 0xa4
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58d07c
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58cfe0
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0x20]
mov edx, 0x58d16c
call fcn.00401468
je 0x58c4cf
mov eax, dword [ebp - 0x20]
mov edx, 0x58ce28
call fcn.00401468
jne 0x58c89f
lea eax, [ebp - 0x1b0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x58d180
call fcn.00401458
mov eax, dword [ebp - 0x1b0]
xor edx, edx
call fcn.005006cc
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x44]
mov edx, 0x58d1a8
call fcn.00402618
test al, al
je 0x58c65a
lea edx, [ebp - 0x1b4]
mov eax, dword [ebp - 8]
call fcn.00402640
mov eax, dword [ebp - 0x1b4]
mov edx, 0x58d1e4
call fcn.00402618
test al, al
je 0x58c65a
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58d07c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d068
call fcn.004013d0
lea eax, [ebp - 0xe4]
mov edx, 0x58d11c
call fcn.004013d8
mov word [ebp - 0xf0], 0x2d
mov word [ebp - 0xee], 0x3a
xor eax, eax
push ebp
push 0x58c5ea
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
mov edx, 0x58d21c
call fcn.004013d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58c609
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58d240
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
lea eax, [ebp - 0x20]
mov edx, 0x58cbbc
call fcn.004013d8
jmp 0x58ca76
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0x64], 0
jne 0x58c7b0
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58d07c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d068
call fcn.004013d0
lea eax, [ebp - 0xe4]
mov edx, 0x58d11c
call fcn.004013d8
mov word [ebp - 0xf0], 0x2d
mov word [ebp - 0xee], 0x3a
xor eax, eax
push ebp
push 0x58c74d
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00402868
fadd dword [0x58d248]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x1b8]
lea edx, [ebp - 0xf8]
mov eax, 0x58d258
call fcn.00402890
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
call fcn.004013d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58c76c
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58d240
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
jmp 0x58ca76
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58cfe0
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x88
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x90
mov edx, 0x58cfcc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x94
xor edx, edx
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x98
xor edx, edx
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
lea eax, [ebp - 0x20]
mov edx, 0x58ce28
call fcn.004013d8
jmp 0x58ca76
mov eax, dword [ebp - 0x20]
mov edx, 0x58cbbc
call fcn.00401468
jne 0x58ca76
lea ecx, [ebp - 0x1bc]
mov edx, 2
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0xfc]
add eax, 0x90
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x78
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x40]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x7c
mov edx, dword [ebp - 0xfc]
mov edx, dword [edx + 0x44]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x80
mov edx, dword [ebp - 0xc]
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0x84
mov edx, 0x58d068
call fcn.004013d0
lea ecx, [ebp - 0x1c0]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0xfc]
add eax, 0x8c
call fcn.004013d0
lea eax, [ebp - 0xe4]
mov edx, 0x58d11c
call fcn.004013d8
mov word [ebp - 0xf0], 0x2d
mov word [ebp - 0xee], 0x3a
lea ecx, [ebp - 0x1c4]
mov edx, 1
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c4]
lea edx, [ebp - 0xf8]
call fcn.00402898
fstp qword [ebp - 0x110]
wait
lea ecx, [ebp - 0x1c8]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c8]
lea edx, [ebp - 0xf8]
call fcn.00402898
fstp qword [ebp - 0x118]
wait
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x114]
push dword [ebp - 0x118]
call fcn.0045ac50
mov ebx, eax
lea edx, [ebp - 0x1cc]
mov eax, ebx
call fcn.00402658
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0xfc]
add eax, 0x88
call fcn.004013d0
lea ecx, [ebp - 0x1d0]
mov edx, 4
mov eax, dword [ebp - 0x108]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0xfc]
add eax, 0xa4
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xac
mov edx, 0x58d07c
call fcn.004013d0
mov eax, dword [ebp - 0xfc]
add eax, 0xa8
mov edx, 0x58cbbc
call fcn.004013d0
mov eax, dword [ebp - 0x108]
call fcn.00401130
mov eax, dword [ebp - 0xfc]
mov byte [eax + 0x48], 1
mov eax, dword [ebp - 0xfc]
add eax, 0x4c
mov edx, dword [ebp - 0x20]
call fcn.004013d0
lea eax, [ebp - 0x1d4]
mov ecx, dword [ebp - 0x20]
mov edx, 0x58d27c
call fcn.00401458
mov eax, dword [ebp - 0x1d4]
xor edx, edx
call fcn.005006cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x58cb07
lea eax, [ebp - 0x1d4]
mov edx, 0x2f
call fcn.004013c8
lea eax, [ebp - 0xf8]
mov edx, dword [0x5eb284]
call fcn.004014b0
lea eax, [ebp - 0x30]
call fcn.00401288
lea eax, [ebp - 0x2c]
mov edx, 0xb
call fcn.004013c8
ret