Function at 0x51c794
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x25
push 0
push 0
dec ecx
jne 0x51c79c
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x51e3b9
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004efaf8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54c]
call fcn.0050d25c
mov eax, dword [ebp - 4]
call fcn.00446960
mov byte [ebp - 0xb], 0
mov eax, dword [0x530b38]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00465128
mov dl, 1
mov eax, dword [0x486684]
call fcn.004867e0
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x41562c]
call fcn.00403b24
mov dword [ebp - 0x14], eax
mov dl, 1
mov eax, dword [0x41562c]
call fcn.00403b24
mov dword [ebp - 0x18], eax
mov dl, 1
mov eax, dword [0x41562c]
call fcn.00403b24
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x51e37f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5306e0]
cmp byte [eax + 7], 0
je 0x51cab7
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51cab0
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000002
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e3d0
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51c962
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00486d58
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51c95a
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51c95a
lea ecx, [ebp - 0x34]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
call fcn.00486e98
cmp al, 2
jne 0x51c8f2
lea ecx, [ebp - 0x38]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 0x10]
call fcn.00486f40
mov edx, dword [ebp - 0x24]
mov eax, 0x51e41c
call fcn.00404f38
test eax, eax
jle 0x51c952
lea ecx, [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.005156a8
mov eax, dword [ebp - 0x3c]
call fcn.00487798
test al, al
jne 0x51c952
push 0x51e428
lea ecx, [ebp - 0x44]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x44]
push 0x51e47c
push dword [ebp - 0x24]
lea eax, [ebp - 0x40]
mov edx, 4
call fcn.00404cbc
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 4]
call fcn.00525da0
inc ebx
dec esi
jne 0x51c8a9
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51c97e
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51c98d
call fcn.004043cc
call fcn.004043cc
jmp 0x51e386
mov edx, 0x80000001
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e488
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51ca8b
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00486d58
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51ca83
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51ca83
lea ecx, [ebp - 0x48]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x10]
call fcn.00486e98
cmp al, 2
jne 0x51ca1b
lea ecx, [ebp - 0x4c]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x4c]
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 0x10]
call fcn.00486f40
mov edx, dword [ebp - 0x24]
mov eax, 0x51e41c
call fcn.00404f38
test eax, eax
jle 0x51ca7b
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.005156a8
mov eax, dword [ebp - 0x50]
call fcn.00487798
test al, al
jne 0x51ca7b
push 0x51e4d4
lea ecx, [ebp - 0x58]
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x58]
push 0x51e47c
push dword [ebp - 0x24]
lea eax, [ebp - 0x54]
mov edx, 4
call fcn.00404cbc
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.00525da0
inc ebx
dec esi
jne 0x51c9d2
mov eax, dword [ebp - 0x10]
call fcn.00486848
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51cab7
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.00517aac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51cad3
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51cadd
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 8], 0
je 0x51cf0c
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 2
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51cf05
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e528
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51ceed
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51ceed
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51ceed
push 0x51e53c
lea ecx, [ebp - 0x60]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x60]
push 0x51e550
lea eax, [ebp - 0x5c]
mov edx, 3
call fcn.00404cbc
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51cbd3
push ebp
push 0x51e550
push 0
push 7
lea ecx, [ebp - 0x64]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.00517cd0
pop ecx
push 0x51e53c
lea ecx, [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x6c]
push 0x51e574
lea eax, [ebp - 0x68]
mov edx, 3
call fcn.00404cbc
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51cc36
push ebp
push 0x51e574
push 0
push 7
lea ecx, [ebp - 0x70]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.00517cd0
pop ecx
push 0x51e53c
lea ecx, [ebp - 0x78]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x78]
push 0x51e584
lea eax, [ebp - 0x74]
mov edx, 3
call fcn.00404cbc
mov edx, dword [ebp - 0x74]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51cc99
push ebp
push 0x51e584
push 0
push 0x17
lea ecx, [ebp - 0x7c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.00517cd0
pop ecx
lea ecx, [ebp - 0x84]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x84]
lea eax, [ebp - 0x80]
mov edx, 0x51e53c
call fcn.00404c48
mov edx, dword [ebp - 0x80]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51ce70
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51ce70
inc eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], 0
mov eax, dword [0x530968]
mov eax, dword [eax]
call fcn.0046705c
push 0x51e53c
lea ecx, [ebp - 0x8c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x8c]
push 0x51e598
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x90]
lea eax, [ebp - 0x88]
mov edx, 4
call fcn.00404cbc
mov edx, dword [ebp - 0x88]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51ce48
mov eax, dword [ebp - 0x10]
call fcn.0048723c
test al, al
je 0x51ce48
mov byte [ebp - 0xa], 0
push ebp
push 0
push 0x51e5a4
push 7
lea ecx, [ebp - 0x98]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x98]
push 0x51e598
lea ecx, [ebp - 0x9c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x9c]
lea eax, [ebp - 0x94]
mov edx, 3
call fcn.00404cbc
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.0051bc38
pop ecx
cmp byte [ebp - 0xa], 0
jne 0x51ce48
push ebp
push 0
push 0
push 6
lea ecx, [ebp - 0xa4]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xa4]
push 0x51e598
lea ecx, [ebp - 0xa8]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00404cbc
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.00517cd0
pop ecx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51ce70
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x51ce70
inc dword [ebp - 0x20]
dec dword [ebp - 0x30]
jne 0x51cd00
lea ecx, [ebp - 0xb0]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xb0]
lea eax, [ebp - 0xac]
mov edx, 0x51e53c
call fcn.00404c48
mov edx, dword [ebp - 0xac]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51ced8
push ebp
push 0
push 0
push 0x25
lea ecx, [ebp - 0xb4]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e560
call fcn.00517cd0
pop ecx
mov edx, 3
mov eax, dword [ebp - 4]
call fcn.00517aac
inc ebx
dec esi
jne 0x51cb5e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51cf0c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51cf28
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51cf32
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 9], 0
je 0x51d133
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 3
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51d12c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e598
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51d114
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51d114
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51d114
lea ecx, [ebp - 0xb8]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb8]
lea edx, [ebp - 0x28]
call fcn.00408dd8
mov eax, dword [ebp - 0x28]
mov edx, 0x51e5b0
call fcn.00404d40
je 0x51d0ff
mov eax, dword [ebp - 0x28]
mov edx, 0x51e5bc
call fcn.00404d40
je 0x51d0ff
mov eax, dword [ebp - 0x28]
mov edx, 0x51e5cc
call fcn.00404d40
je 0x51d0ff
push ebp
push 0x51e598
push 0
push 1
lea ecx, [ebp - 0xbc]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
xor edx, edx
call fcn.00517cd0
pop ecx
push ebp
push 0x51e5dc
push 0
push 5
lea ecx, [ebp - 0xc0]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
xor edx, edx
call fcn.00517cd0
pop ecx
push ebp
push 0x51e5ec
push 0
push 5
lea ecx, [ebp - 0xc4]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
xor edx, edx
call fcn.00517cd0
pop ecx
push ebp
push 0x51e604
push 0
push 0x1f
lea ecx, [ebp - 0xc8]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
xor edx, edx
call fcn.00517cd0
pop ecx
push ebp
push 0
push 0
push 0x25
lea ecx, [ebp - 0xcc]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
xor edx, edx
call fcn.00517cd0
pop ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00517aac
inc ebx
dec esi
jne 0x51cfb3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51d133
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51d14f
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51d159
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xa], 0
je 0x51db72
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 4
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51db6b
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e618
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51d67c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51d67c
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51d67c
lea ecx, [ebp - 0xd0]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
lea edx, [ebp - 0x2c]
call fcn.00408e14
mov byte [ebp - 9], 0
push ebp
push 0x51e628
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e650
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e668
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e680
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e698
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e6b0
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e6cc
mov eax, dword [ebp - 4]
call fcn.00523f00
test al, al
jne 0x51d674
push ebp
push 0x51e6dc
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e6ec
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e528
push 0
push 0x15
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e528
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e710
push 0
push 0x17
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e728
push 0
push 0x17
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e744
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e75c
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51d67c
push ebp
push 0x51e774
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e788
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e79c
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7b0
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7c4
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7dc
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7fc
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51d67c
push ebp
push 0x51e81c
push 0
push 0x29
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e834
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e84c
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e864
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e878
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e890
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8ac
push 0
push 0x2b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8d0
push 0
push 0x10
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8ec
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e900
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e914
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e928
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
push ebp
push 0x51e940
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
cmp byte [ebp - 9], 1
jne 0x51d667
push ebp
push 0
push 0
push 6
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e640
call fcn.00517cd0
pop ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00517aac
inc ebx
dec esi
jne 0x51d1da
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51d698
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51d6a7
call fcn.004043cc
call fcn.004043cc
jmp 0x51e386
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e958
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51db53
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51db53
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51db53
lea ecx, [ebp - 0xd4]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0x2c]
call fcn.00408e14
mov byte [ebp - 9], 0
push ebp
push 0x51e628
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e650
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e668
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e680
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e698
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e6b0
push 0
push 3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e6dc
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e6ec
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e528
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51db53
push ebp
push 0x51e710
push 0
push 0x17
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e728
push 0
push 0x17
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e744
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e75c
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e774
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e788
push 0
push 0x19
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e79c
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7b0
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7c4
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7dc
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e7fc
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e81c
push 0
push 0x29
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e834
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e84c
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51db53
push ebp
push 0x51e864
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e878
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e890
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8ac
push 0
push 0x2b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8d0
push 0
push 0x10
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e8ec
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e900
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e914
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e928
push 0
push 0x2f
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
push ebp
push 0x51e940
push 0
push 0x2e
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
cmp byte [ebp - 9], 1
jne 0x51db4b
push ebp
push 0
push 0
push 6
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x51e970
call fcn.00517cd0
pop ecx
inc ebx
dec esi
jne 0x51d6f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51db72
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51db8e
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51db98
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xb], 0
je 0x51dd5b
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 5
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51dd54
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e988
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51dd3c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51dd3c
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51dd3c
mov byte [ebp - 9], 0
push ebp
push 0x51e528
push 0
push 9
lea ecx, [ebp - 0xd8]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e99c
call fcn.00517cd0
pop ecx
push ebp
push 0x51e9b0
push 0
push 8
lea ecx, [ebp - 0xdc]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e99c
call fcn.00517cd0
pop ecx
push ebp
push 0x51e9c8
push 0
push 8
lea ecx, [ebp - 0xe0]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e99c
call fcn.00517cd0
pop ecx
push ebp
push 0x51e9e4
push 0
push 0xa
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e99c
call fcn.00517cd0
pop ecx
cmp byte [ebp - 9], 1
jne 0x51dd27
push ebp
push 0
push 0
push 6
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51e99c
call fcn.00517cd0
pop ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00517aac
inc ebx
dec esi
jne 0x51dc19
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51dd5b
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51dd77
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51dd81
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xc], 0
je 0x51de85
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 6
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51de7e
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51e9fc
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51de59
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51de59
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51de59
lea ecx, [ebp - 0xec]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xec]
cmp byte [eax], 0x7b
je 0x51de55
push ebp
push 0
push 0
push 0x11
lea ecx, [ebp - 0xf0]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea0c
call fcn.00517cd0
pop ecx
inc ebx
dec esi
jne 0x51ddfe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51de85
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.00517aac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51dea1
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51deab
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xd], 0
je 0x51e079
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 7
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51e072
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51ea1c
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51e04d
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51e04d
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51e04d
push ebp
push 0
push 0x51ea3c
push 0x21
lea ecx, [ebp - 0xf8]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0xf4]
mov edx, 0x51ea50
call fcn.00404c48
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
push ebp
push 0
push 0x51ea7c
push 0x21
lea ecx, [ebp - 0x100]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0xfc]
mov edx, 0x51ea50
call fcn.00404c48
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
push ebp
lea ecx, [ebp - 0x104]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x104]
push eax
push 0x51ea98
push 0x23
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov ecx, 0x51ea50
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
push ebp
push 0
push 0
push 0x25
lea ecx, [ebp - 0x10c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x108]
mov edx, 0x51ea50
call fcn.00404c48
mov ecx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
inc ebx
dec esi
jne 0x51df2c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e079
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.00517aac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51e095
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51e09f
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xe], 0
je 0x51e238
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 8
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51e231
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51eab0
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51e20c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51e20c
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51e20c
push ebp
push 0
push 0x51ead4
push 0x27
lea ecx, [ebp - 0x114]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x110]
mov edx, 0x51eae4
call fcn.00404c48
mov ecx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
push ebp
push 0
push 0x51eafc
push 0x27
lea ecx, [ebp - 0x11c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0x118]
mov edx, 0x51eae4
call fcn.00404c48
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
push ebp
push 0
push 0
push 0x25
lea ecx, [ebp - 0x124]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0x120]
mov edx, 0x51eae4
call fcn.00404c48
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51ea64
call fcn.00517cd0
pop ecx
inc ebx
dec esi
jne 0x51e120
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e238
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.00517aac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
mov eax, dword [ebp - 4]
cmp byte [eax + 0x5e7], 0
jne 0x51e254
mov eax, dword [0x530968]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
je 0x51e25e
call fcn.004043cc
jmp 0x51e386
mov eax, dword [0x5306e0]
cmp byte [eax + 0xf], 0
je 0x51e343
mov eax, dword [ebp - 4]
mov dword [eax + 0x5ac], 9
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00529eec
xor eax, eax
push ebp
push 0x51e33c
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00486878
xor ecx, ecx
mov edx, 0x51eb10
mov eax, dword [ebp - 0x10]
call fcn.004868e0
test al, al
je 0x51e317
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00486c90
mov eax, dword [ebp - 0x10]
call fcn.00486848
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x51e317
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00521060
test al, al
jne 0x51e317
push ebp
push 0
push 0
push 0x25
lea ecx, [ebp - 0x128]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov edx, 0x51eb28
call fcn.00517cd0
pop ecx
inc ebx
dec esi
jne 0x51e2d7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e343
mov edx, 0x32
mov eax, dword [ebp - 4]
call fcn.00517aac
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00529eec
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e386
mov eax, dword [ebp - 0x14]
call fcn.00403b54
mov eax, dword [ebp - 0x18]
call fcn.00403b54
mov eax, dword [ebp - 0x1c]
call fcn.00403b54
mov eax, dword [ebp - 0x10]
call fcn.00403b54
mov eax, dword [0x530b38]
mov eax, dword [eax]
xor edx, edx
call fcn.00465128
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51e3c0
lea eax, [ebp - 0x128]
mov edx, 0x3e
call fcn.00404968
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404968
lea eax, [ebp - 8]
call fcn.00404944
ret