Function at 0x4fa09c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x51
push 0
push 0
dec ecx
jne 0x4fa0a4
push ecx
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4fb3d9
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x44]
lea eax, [ebp - 0x44]
or edx, 0xffffffff
call fcn.004e9228
mov edx, dword [ebp - 0x44]
lea eax, [ebp - 0xc]
call fcn.004064c8
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x44]
or edx, 0xffffffff
call fcn.004e9228
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x10]
call fcn.004064c8
lea edx, [ebp - 0x14]
mov eax, 0x4fb3ec
call fcn.004e91ec
lea edx, [ebp - 0x18]
mov eax, 0x4fb3ec
call fcn.004e91ec
mov dl, 1
mov eax, dword [0x41994c]
call fcn.004035c0
mov dword [ebp - 0x28], eax
mov dl, 0x2c
mov eax, dword [ebp - 0x28]
call fcn.0041e688
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x28]
call fcn.0041e4f8
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
mov dword [ebp - 0x30], eax
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
xor eax, eax
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
mov eax, 0x4fb418
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x4c]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 1
je 0x4fa21b
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb42c
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x74]
push eax
mov ecx, 0x4fb434
mov edx, 0x1e
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x70]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 2
je 0x4fa298
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb444
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x7c]
push eax
mov ecx, 0x4fb44c
mov edx, 0x1f
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x78]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 4
je 0x4fa31b
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb468
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x4fb470
mov edx, 0x20
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x80]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 0x10
je 0x4fa3a4
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb498
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x4fb4a4
mov edx, 0x23
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x88]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 0x20
je 0x4fa42d
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb4cc
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x94]
push eax
mov ecx, 0x4fb4d4
mov edx, 0x24
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x90]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 0x80
je 0x4fa4b6
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb504
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0x9c]
push eax
mov ecx, 0x4fb514
mov edx, 0x26
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x98]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 8
je 0x4fa53f
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb544
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0xa4]
push eax
mov ecx, 0x4fb550
mov edx, 0x21
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0xa0]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 0x40
je 0x4fa5c8
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb568
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0xac]
push eax
mov ecx, 0x4fb570
mov edx, 0x25
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0xa8]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x56], 1
je 0x4fa651
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb5ac
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
push 1
lea eax, [ebp - 0xb4]
push eax
mov ecx, 0x4fb5bc
mov edx, 0x22
mov eax, dword [ebp - 4]
call fcn.004ff4c4
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0xb0]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [0x50533c]
mov eax, dword [eax]
call fcn.004da9d8
test byte [eax + 0x55], 1
je 0x4fae70
mov dl, 1
mov eax, dword [0x4a3da4]
call fcn.004a50e4
mov dword [ebp - 0x20], eax
mov dl, 1
mov eax, dword [ebp - 0x20]
call fcn.004a644c
mov eax, dword [0x50533c]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 8]
sub eax, 1
jno 0x4fa697
call fcn.00403530
test eax, eax
jl 0x4faa7e
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [0x50533c]
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x2c]
call fcn.0041bc90
mov dword [ebp - 0x24], eax
mov eax, dword [0x505754]
mov eax, dword [eax]
call fcn.004b82b8
test al, al
je 0x4fa72a
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov edx, 0x4fb5d8
call fcn.0040484c
je 0x4fa73b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov edx, 0x4fb5e4
call fcn.0040484c
je 0x4fa73b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov edx, 0x4fb5f0
call fcn.0040484c
je 0x4fa73b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
mov edx, 0x4fb5fc
call fcn.0040484c
je 0x4fa73b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x4fa73b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, 0x4fb608
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0xf0], 0xb
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov dword [ebp - 0xec], eax
mov byte [ebp - 0xe8], 0xf
mov eax, 0x4fb618
mov dword [ebp - 0xe4], eax
mov byte [ebp - 0xe0], 0xb
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 0xd8], 0xf
mov eax, 0x4fb628
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0xb
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0xf
mov eax, 0x4fb63c
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xc0], 0xb
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xbc], eax
mov byte [ebp - 0xb8], 0xf
lea eax, [ebp - 0xf4]
lea ecx, [ebp - 0x1c]
mov edx, 7
call fcn.004e9754
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x18], 0
je 0x4fa919
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x38], eax
mov eax, 0x4fb650
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x154], 0xb
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 4]
mov dword [ebp - 0x150], eax
mov byte [ebp - 0x14c], 0xf
mov eax, 0x4fb660
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x144], 0xb
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
mov byte [ebp - 0x13c], 0xf
mov eax, 0x4fb670
mov dword [ebp - 0x138], eax
mov byte [ebp - 0x134], 0xb
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x12c], 0xf
mov eax, 0x4fb67c
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x124], 0xb
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x120], eax
mov byte [ebp - 0x11c], 0xf
mov eax, 0x4fb690
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0xb
mov eax, dword [ebp - 0x38]
fld qword [eax + 0x18]
fstp xword [ebp - 0x164]
wait
lea eax, [ebp - 0x164]
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 3
mov eax, 0x4fb6a4
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x104], 0xb
mov eax, dword [ebp - 0x38]
fld qword [eax + 0x20]
fstp xword [ebp - 0x170]
wait
lea eax, [ebp - 0x170]
mov dword [ebp - 0x100], eax
mov byte [ebp - 0xfc], 3
lea eax, [ebp - 0x158]
lea ecx, [ebp - 0xf8]
mov edx, 0xb
call fcn.004e9754
mov ecx, dword [ebp - 0xf8]
mov edx, 0x4fb6b0
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x28]
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x1c], 0
je 0x4faa50
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, 0x4fb650
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x154], 0xb
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x150], eax
mov byte [ebp - 0x14c], 0xf
mov eax, 0x4fb660
mov dword [ebp - 0x148], eax
mov byte [ebp - 0x144], 0xb
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x140], eax
mov byte [ebp - 0x13c], 0xf
mov eax, 0x4fb670
mov dword [ebp - 0x138], eax
mov byte [ebp - 0x134], 0xb
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x130], eax
mov byte [ebp - 0x12c], 0xf
mov eax, 0x4fb67c
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x124], 0xb
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x120], eax
mov byte [ebp - 0x11c], 0xf
mov eax, 0x4fb690
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x114], 0xb
mov eax, dword [ebp - 0x3c]
fld qword [eax + 0x18]
fstp xword [ebp - 0x164]
wait
lea eax, [ebp - 0x164]
mov dword [ebp - 0x110], eax
mov byte [ebp - 0x10c], 3
mov eax, 0x4fb6a4
mov dword [ebp - 0x108], eax
mov byte [ebp - 0x104], 0xb
mov eax, dword [ebp - 0x3c]
fld qword [eax + 0x20]
fstp xword [ebp - 0x170]
wait
lea eax, [ebp - 0x170]
mov dword [ebp - 0x100], eax
mov byte [ebp - 0xfc], 3
lea eax, [ebp - 0x158]
lea ecx, [ebp - 0x174]
mov edx, 0xb
call fcn.004e9754
mov ecx, dword [ebp - 0x174]
mov edx, 0x4fb6bc
mov eax, dword [ebp - 0x1c]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 4]
call fcn.00404d30
mov edx, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x4fa6aa
mov eax, dword [0x505754]
mov eax, dword [eax]
call fcn.004b82b8
test al, al
je 0x4fada6
lea ecx, [ebp - 0x17c]
mov edx, 0x4fb6c8
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
cmp dword [ebp - 0x17c], 0
je 0x4fab57
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4faad2
mov edx, 0x4fb5d8
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4fab57
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb5d8
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
lea ecx, [ebp - 0x188]
mov edx, 0x4fb6c8
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x188]
lea ecx, [ebp - 0x184]
mov edx, 0x4fb6d4
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xe
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x180]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x180]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
lea ecx, [ebp - 0x18c]
mov edx, 0x4fb6e4
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
cmp dword [ebp - 0x18c], 0
je 0x4fac1c
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4fab97
mov edx, 0x4fb5e4
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4fac1c
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb5e4
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
lea ecx, [ebp - 0x198]
mov edx, 0x4fb6e4
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x194]
mov edx, 0x4fb6d4
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xe
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x190]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
lea ecx, [ebp - 0x19c]
mov edx, 0x4fb6f0
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
cmp dword [ebp - 0x19c], 0
je 0x4face1
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4fac5c
mov edx, 0x4fb5f0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4face1
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb5f0
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
lea ecx, [ebp - 0x1a8]
mov edx, 0x4fb6f0
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x1a8]
lea ecx, [ebp - 0x1a4]
mov edx, 0x4fb6d4
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xe
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x1a0]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x1a0]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
lea ecx, [ebp - 0x1ac]
mov edx, 0x4fb6fc
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
cmp dword [ebp - 0x1ac], 0
je 0x4fada6
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4fad21
mov edx, 0x4fb5fc
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4fada6
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, 0x4fb5fc
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
lea ecx, [ebp - 0x1b8]
mov edx, 0x4fb6fc
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1b4]
mov edx, 0x4fb6d4
mov ebx, dword [eax]
call dword [ebx + 0x24]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xe
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x1b0]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x1b0]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x14]
sub eax, 1
jno 0x4fadb8
call fcn.00403530
test eax, eax
jl 0x4fae70
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x4fadf6
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4fae64
mov eax, 0x4fb3fc
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov eax, 0x4fb408
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
lea ecx, [ebp - 0x1c0]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xf
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0x1bc]
mov edx, 3
call fcn.004e9754
mov eax, dword [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x90]
pop edx
call fcn.004f1128
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x4fadcb
lea eax, [ebp - 0x1d4]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 4]
mov cl, 0xfc
call fcn.00415ed4
lea eax, [ebp - 0x1d4]
lea edx, [ebp - 0x1c4]
call fcn.004e9868
mov ecx, dword [ebp - 0x1c4]
mov edx, 0x4fb708
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x1e8]
mov edx, dword [0x50533c]
mov edx, dword [edx]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov cl, 0xfc
call fcn.00415ed4
lea eax, [ebp - 0x1e8]
lea edx, [ebp - 0x1d8]
call fcn.004e9868
mov ecx, dword [ebp - 0x1d8]
mov edx, 0x4fb714
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
mov eax, dword [0x50533c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
push dword [eax + 0x14]
push dword [eax + 0x10]
mov al, 0xfe
call fcn.0042fe2c
lea eax, [ebp - 0x1fc]
call fcn.004160ec
lea eax, [ebp - 0x1fc]
lea edx, [ebp - 0x1ec]
call fcn.004e9868
mov ecx, dword [ebp - 0x1ec]
mov edx, 0x4fb724
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x210]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 0x2c]
mov cl, 0xfc
call fcn.00415ed4
lea eax, [ebp - 0x210]
lea edx, [ebp - 0x200]
call fcn.004e9868
mov ecx, dword [ebp - 0x200]
mov edx, 0x4fb73c
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x224]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 0x30]
mov cl, 0xfc
call fcn.00415ed4
lea eax, [ebp - 0x224]
lea edx, [ebp - 0x214]
call fcn.004e9868
mov ecx, dword [ebp - 0x214]
mov edx, 0x4fb750
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x238]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx + 0x50]
call fcn.004160c4
lea eax, [ebp - 0x238]
lea edx, [ebp - 0x228]
call fcn.004e9868
mov ecx, dword [ebp - 0x228]
mov edx, 0x4fb768
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x24c]
mov edx, dword [ebp - 0x30]
movzx edx, byte [edx + 0x34]
mov cl, 0xfc
call fcn.00415ed4
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x23c]
call fcn.004e9868
mov ecx, dword [ebp - 0x23c]
mov edx, 0x4fb780
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x260]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx + 0x51]
call fcn.004160c4
lea eax, [ebp - 0x260]
lea edx, [ebp - 0x250]
call fcn.004e9868
mov ecx, dword [ebp - 0x250]
mov edx, 0x4fb798
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x274]
mov edx, dword [ebp - 0x30]
mov dl, byte [edx + 0x54]
call fcn.004160c4
lea eax, [ebp - 0x274]
lea edx, [ebp - 0x264]
call fcn.004e9868
mov ecx, dword [ebp - 0x264]
mov edx, 0x4fb7ac
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x27c]
mov edx, dword [0x50533c]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
call fcn.00404d30
mov eax, dword [ebp - 0x27c]
lea edx, [ebp - 0x278]
call fcn.004e91ec
mov ecx, dword [ebp - 0x278]
mov edx, 0x4fb7d0
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
lea eax, [ebp - 0x28]
call fcn.0040ff04
mov eax, dword [ebp - 8]
call fcn.00404b4c
mov eax, dword [ebp - 8]
push dword [eax]
push 0x4fb7e8
push 0x4fb838
mov eax, dword [ebp - 8]
mov edx, 3
call fcn.00404e8c
mov eax, dword [ebp - 8]
push dword [eax]
push 0x4fb844
lea eax, [ebp - 0x280]
push eax
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x9c]
push dword [ebp - 0x280]
push 0x4fb864
push 0x4fb838
mov eax, dword [ebp - 8]
mov edx, 5
call fcn.00404e8c
mov eax, dword [ebp - 8]
push dword [eax]
push 0x4fb86c
lea eax, [ebp - 0x284]
push eax
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0x9c]
push dword [ebp - 0x284]
push 0x4fb864
push 0x4fb838
mov eax, dword [ebp - 8]
mov edx, 5
call fcn.00404e8c
mov eax, dword [ebp - 8]
push dword [eax]
push 0x4fb894
lea eax, [ebp - 0x288]
push eax
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x9c]
push dword [ebp - 0x288]
push 0x4fb864
push 0x4fb838
mov eax, dword [ebp - 8]
mov edx, 5
call fcn.00404e8c
mov eax, dword [ebp - 8]
push dword [eax]
push 0x4fb8b8
lea eax, [ebp - 0x28c]
push eax
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x9c]
push dword [ebp - 0x28c]
push 0x4fb864
push 0x4fb838
mov eax, dword [ebp - 8]
mov edx, 5
call fcn.00404e8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4fb3e3
lea eax, [ebp - 0x28c]
mov edx, 5
call fcn.00404b64
lea eax, [ebp - 0x278]
call fcn.004064b0
lea eax, [ebp - 0x274]
call fcn.00411c54
lea eax, [ebp - 0x264]
call fcn.004064b0
lea eax, [ebp - 0x260]
call fcn.00411c54
lea eax, [ebp - 0x250]
call fcn.004064b0
lea eax, [ebp - 0x24c]
call fcn.00411c54
lea eax, [ebp - 0x23c]
call fcn.004064b0
lea eax, [ebp - 0x238]
call fcn.00411c54
lea eax, [ebp - 0x228]
call fcn.004064b0
lea eax, [ebp - 0x224]
call fcn.00411c54
lea eax, [ebp - 0x214]
call fcn.004064b0
lea eax, [ebp - 0x210]
call fcn.00411c54
lea eax, [ebp - 0x200]
call fcn.004064b0
lea eax, [ebp - 0x1fc]
call fcn.00411c54
lea eax, [ebp - 0x1ec]
call fcn.004064b0
lea eax, [ebp - 0x1e8]
call fcn.00411c54
lea eax, [ebp - 0x1d8]
call fcn.004064b0
lea eax, [ebp - 0x1d4]
call fcn.00411c54
lea eax, [ebp - 0x1c4]
call fcn.004064b0
lea eax, [ebp - 0x1c0]
call fcn.00404b4c
lea eax, [ebp - 0x1bc]
mov edx, dword [0x4e85c0]
mov ecx, 0x11
call fcn.004052a0
lea eax, [ebp - 0x178]
call fcn.00404b4c
lea eax, [ebp - 0x174]
call fcn.004064b0
lea eax, [ebp - 0xf8]
call fcn.004064b0
lea eax, [ebp - 0xb4]
call fcn.00404b4c
lea eax, [ebp - 0xb0]
call fcn.004064b0
lea eax, [ebp - 0xac]
call fcn.00404b4c
lea eax, [ebp - 0xa8]
call fcn.004064b0
lea eax, [ebp - 0xa4]
call fcn.00404b4c
lea eax, [ebp - 0xa0]
call fcn.004064b0
lea eax, [ebp - 0x9c]
call fcn.00404b4c
lea eax, [ebp - 0x98]
call fcn.004064b0
lea eax, [ebp - 0x94]
call fcn.00404b4c
lea eax, [ebp - 0x90]
call fcn.004064b0
lea eax, [ebp - 0x8c]
call fcn.00404b4c
lea eax, [ebp - 0x88]
call fcn.004064b0
lea eax, [ebp - 0x84]
call fcn.00404b4c
lea eax, [ebp - 0x80]
call fcn.004064b0
lea eax, [ebp - 0x7c]
call fcn.00404b4c
lea eax, [ebp - 0x78]
call fcn.004064b0
lea eax, [ebp - 0x74]
call fcn.00404b4c
lea eax, [ebp - 0x70]
call fcn.004064b0
lea eax, [ebp - 0x4c]
mov edx, dword [0x4e85c0]
mov ecx, 3
call fcn.004052a0
lea eax, [ebp - 0x1c]
mov edx, dword [0x4e85c0]
mov ecx, 5
call fcn.004052a0
ret