Function at 0x80d11c
Capabilities:
Contain obfuscated stackstrings
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe9
push 0
push 0
dec ecx
jne 0x80d124
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], eax
lea eax, [ebp - 0x290]
mov edx, dword [0x41b1d0]
call fcn.0040b2b0
mov esi, dword [0x8d3220]
xor eax, eax
push ebp
push 0x80f1f4
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x8dbfcc]
call fcn.0040a154
lea eax, [ebp - 8]
mov edx, dword [0x8dbfd8]
call fcn.0040a154
lea eax, [ebp - 0xc]
mov edx, dword [0x8dbfd0]
call fcn.0040a154
mov edx, dword [ebp - 0xc]
mov eax, 0x80f210
call fcn.00423d68
mov ecx, eax
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.0040af08
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f220
call fcn.0040b0d0
test eax, eax
jle 0x80d1e2
lea eax, [ebp - 4]
push eax
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f220
call fcn.0040b0d0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040aec0
mov edx, dword [ebp - 4]
mov eax, 0x80f238
call fcn.00423d68
mov ebx, eax
test ebx, ebx
jle 0x80d247
mov eax, dword [ebp - 4]
test eax, eax
je 0x80d201
sub eax, 4
mov eax, dword [eax]
lea edx, [ebx + 1]
cmp eax, edx
jle 0x80d247
mov eax, dword [ebp - 4]
movzx eax, word [eax + ebx*2]
mov edx, 0x80f23c
mov dword [ebp - 0x2a4], edx
mov edx, dword [ebp - 0x2a4]
cmp ax, 0xff
ja 0x80d22c
movzx eax, ax
bt dword [edx], eax
setb al
test al, al
je 0x80d247
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040aec0
lea edx, [ebp - 0x4b4]
mov eax, dword [ebp - 4]
call fcn.00422220
mov edx, dword [ebp - 0x4b4]
mov eax, 0x80f268
call fcn.00423d68
mov ebx, eax
test ebx, ebx
jle 0x80d2bd
mov eax, dword [ebp - 4]
test eax, eax
je 0x80d277
sub eax, 4
mov eax, dword [eax]
lea edx, [ebx + 1]
cmp eax, edx
jle 0x80d2bd
mov eax, dword [ebp - 4]
movzx eax, word [eax + ebx*2]
mov edx, 0x80f23c
mov dword [ebp - 0x2a8], edx
mov edx, dword [ebp - 0x2a8]
cmp ax, 0xff
ja 0x80d2a2
movzx eax, ax
bt dword [edx], eax
setb al
test al, al
je 0x80d2bd
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040aec0
lea edx, [ebp - 0x4b8]
mov eax, dword [ebp - 4]
call fcn.00422220
mov edx, dword [ebp - 0x4b8]
mov ecx, 1
mov eax, 0x80f27c
call fcn.0040b0d0
mov ebx, eax
test ebx, ebx
jle 0x80d2fa
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040aec0
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f29c
call fcn.0040b0d0
test eax, eax
jle 0x80d36f
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f2ac
call fcn.0040b0d0
test eax, eax
jle 0x80d36f
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f2ac
call fcn.0040b0d0
mov ebx, eax
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f29c
call fcn.0040b0d0
sub ebx, eax
add ebx, 2
push ebx
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x80f29c
call fcn.0040b0d0
mov edx, eax
lea eax, [ebp - 4]
pop ecx
call fcn.0040af08
mov edx, dword [ebp - 4]
mov eax, 0x80f2bc
call fcn.00423d68
mov ebx, eax
test ebx, ebx
jle 0x80d396
lea eax, [ebp - 4]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.0040aec0
lea edx, [ebp - 0x4bc]
mov eax, dword [ebp - 4]
call fcn.0042254c
mov edx, dword [ebp - 0x4bc]
lea eax, [ebp - 4]
call fcn.0040a154
lea edx, [ebp - 0x4c0]
mov eax, dword [ebp - 8]
call fcn.0042254c
mov edx, dword [ebp - 0x4c0]
lea eax, [ebp - 8]
call fcn.0040a154
lea edx, [ebp - 0x4c4]
mov eax, dword [ebp - 0xc]
call fcn.0042254c
mov edx, dword [ebp - 0x4c4]
lea eax, [ebp - 0xc]
call fcn.0040a154
mov eax, dword [ebp - 8]
test eax, eax
je 0x80d3f6
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x80d444
mov eax, dword [ebp - 4]
test eax, eax
je 0x80d406
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x80d444
mov edx, dword [0x8d39dc]
mov edx, dword [edx]
lea eax, [ebp - 0x4c8]
mov ecx, dword [ebp - 4]
call fcn.0040acf0
mov eax, dword [ebp - 0x4c8]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80d444
mov edx, dword [0x8d39dc]
mov edx, dword [edx]
lea eax, [ebp - 8]
mov ecx, dword [ebp - 4]
call fcn.0040acf0
mov eax, dword [ebp - 8]
test eax, eax
je 0x80d450
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x80d548
mov eax, dword [ebp - 4]
test eax, eax
je 0x80d464
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x80d548
mov edx, dword [0x8d39dc]
mov edx, dword [edx]
lea eax, [ebp - 0x4cc]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x4cc]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80d548
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80d51e
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80d51e
mov eax, dword [0x8d39dc]
push dword [eax]
push dword [ebp - 0x27c]
push 0x80f210
push dword [ebp - 4]
lea eax, [ebp - 0x4d0]
mov edx, 4
call fcn.0040ad78
mov eax, dword [ebp - 0x4d0]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80d51e
mov eax, dword [0x8d39dc]
push dword [eax]
push dword [ebp - 0x27c]
push 0x80f210
push dword [ebp - 4]
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040ad78
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
jne 0x80d53d
mov eax, dword [ebp - 8]
call fcn.0040a1f8
test eax, eax
jle 0x80d4a2
lea eax, [ebp - 0x290]
call fcn.00423cac
lea eax, [ebp - 0x14]
push eax
mov word [ebp - 0x548], 0x22
mov byte [ebp - 0x544], 9
mov word [ebp - 0x540], 0x55
mov byte [ebp - 0x53c], 9
mov word [ebp - 0x538], 0x5f
mov byte [ebp - 0x534], 9
mov word [ebp - 0x530], 0x6e
mov byte [ebp - 0x52c], 9
mov word [ebp - 0x528], 0x5f
mov byte [ebp - 0x524], 9
mov word [ebp - 0x520], 0x6b
mov byte [ebp - 0x51c], 9
mov word [ebp - 0x518], 0x5f
mov byte [ebp - 0x514], 9
mov word [ebp - 0x510], 0x6e
mov byte [ebp - 0x50c], 9
mov word [ebp - 0x508], 0x5f
mov byte [ebp - 0x504], 9
mov word [ebp - 0x500], 0x6f
mov byte [ebp - 0x4fc], 9
mov word [ebp - 0x4f8], 0x5f
mov byte [ebp - 0x4f4], 9
mov word [ebp - 0x4f0], 0x77
mov byte [ebp - 0x4ec], 9
mov word [ebp - 0x4e8], 0x5f
mov byte [ebp - 0x4e4], 9
mov word [ebp - 0x4e0], 0x6e
mov byte [ebp - 0x4dc], 9
mov word [ebp - 0x4d8], 0x22
mov byte [ebp - 0x4d4], 9
lea edx, [ebp - 0x548]
mov ecx, 0xe
mov eax, 0x80f304
call fcn.004246d8
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040a154
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, 0x80f350
call fcn.0040b0d0
test eax, eax
jle 0x80d6d5
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, 0x80f360
call fcn.0040b0d0
test eax, eax
jle 0x80d6d5
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, 0x80f360
call fcn.0040b0d0
mov ebx, eax
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, 0x80f350
call fcn.0040b0d0
sub ebx, eax
add ebx, 2
push ebx
mov ecx, 1
mov edx, dword [ebp - 0xc]
mov eax, 0x80f350
call fcn.0040b0d0
mov edx, eax
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.0040aec0
mov eax, dword [ebp - 4]
test eax, eax
je 0x80d6e1
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x80d6f0
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x14]
call fcn.0040a154
mov eax, dword [ebp - 8]
test eax, eax
je 0x80d6fc
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x80d70b
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x14]
call fcn.0040a154
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x80d717
sub eax, 4
mov eax, dword [eax]
test eax, eax
jne 0x80d726
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x14]
call fcn.0040a154
mov eax, dword [ebp - 8]
test eax, eax
je 0x80d732
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jle 0x80d774
lea edx, [ebp - 0x54c]
mov eax, dword [ebp - 8]
call fcn.004221d0
mov edx, dword [ebp - 0x54c]
mov ecx, 1
mov eax, 0x80f370
call fcn.0040b0d0
test eax, eax
jne 0x80d774
mov dl, 1
mov eax, dword [ebp - 8]
call fcn.004238d8
test al, al
je 0x80d774
mov eax, dword [ebp - 8]
call fcn.0080c374
mov eax, dword [0x8d35f8]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x550]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x550]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80d802
mov eax, dword [0x8d35f8]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x554]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x554]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d35f8]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x558]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x558]
call fcn.0080c374
jmp 0x80d99b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
mov edx, dword [0x8d35f8]
mov edx, dword [edx]
lea eax, [ebp - 0x55c]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x55c]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80d886
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80d86c
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80d86c
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80d83b
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80d99b
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
mov eax, dword [0x8d35f8]
push dword [eax]
lea ecx, [ebp - 0x564]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x564]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x560]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x560]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80d982
mov byte [ebp - 0x299], 1
mov eax, dword [0x8d35f8]
push dword [eax]
lea ecx, [ebp - 0x56c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x56c]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x568]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x568]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d35f8]
push dword [eax]
lea ecx, [ebp - 0x574]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x574]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x570]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x570]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80d99b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80d89f
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
mov eax, dword [0x8d3b0c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x578]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x578]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80da42
mov eax, dword [0x8d3b0c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x57c]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x57c]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d3b0c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x580]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x580]
call fcn.0080c374
jmp 0x80dbdb
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
mov edx, dword [0x8d3b0c]
mov edx, dword [edx]
lea eax, [ebp - 0x584]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x584]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80dac6
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80daac
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80daac
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80da7b
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80dbdb
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
mov eax, dword [0x8d3b0c]
push dword [eax]
lea ecx, [ebp - 0x58c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x58c]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x588]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x588]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80dbc2
mov byte [ebp - 0x299], 1
mov eax, dword [0x8d3b0c]
push dword [eax]
lea ecx, [ebp - 0x594]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x594]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x590]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x590]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d3b0c]
push dword [eax]
lea ecx, [ebp - 0x59c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x59c]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x598]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x598]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80dbdb
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80dadf
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
mov eax, dword [0x8d39dc]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5a0]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5a0]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80dc82
mov eax, dword [0x8d39dc]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5a4]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x5a4]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d39dc]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5a8]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5a8]
call fcn.0080c374
jmp 0x80de1b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
mov edx, dword [0x8d39dc]
mov edx, dword [edx]
lea eax, [ebp - 0x5ac]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x5ac]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80dd06
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80dcec
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80dcec
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80dcbb
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80de1b
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
mov eax, dword [0x8d39dc]
push dword [eax]
lea ecx, [ebp - 0x5b4]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5b4]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5b0]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x5b0]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80de02
mov byte [ebp - 0x299], 1
mov eax, dword [0x8d39dc]
push dword [eax]
lea ecx, [ebp - 0x5bc]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5bc]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5b8]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x5b8]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d39dc]
push dword [eax]
lea ecx, [ebp - 0x5c4]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5c4]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5c0]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x5c0]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80de1b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80dd1f
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
mov eax, dword [0x8d333c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5c8]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5c8]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80dec2
mov eax, dword [0x8d333c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5cc]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x5cc]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d333c]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5d0]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5d0]
call fcn.0080c374
jmp 0x80e05b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
mov edx, dword [0x8d333c]
mov edx, dword [edx]
lea eax, [ebp - 0x5d4]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x5d4]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80df46
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80df2c
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80df2c
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80defb
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80e05b
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
mov eax, dword [0x8d333c]
push dword [eax]
lea ecx, [ebp - 0x5dc]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5dc]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5d8]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x5d8]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e042
mov byte [ebp - 0x299], 1
mov eax, dword [0x8d333c]
push dword [eax]
lea ecx, [ebp - 0x5e4]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5e4]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5e0]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x5e0]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d333c]
push dword [eax]
lea ecx, [ebp - 0x5ec]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x5ec]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5e8]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x5e8]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80e05b
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80df5f
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
push 0x80f38c
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5f0]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5f0]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e0fc
push 0x80f38c
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5f4]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x5f4]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push 0x80f38c
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5f8]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x5f8]
call fcn.0080c374
jmp 0x80e276
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
lea ecx, [ebp - 0x290]
mov edx, 0x10
mov eax, 0x80f3b8
call fcn.00423c38
test eax, eax
jne 0x80e167
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80e14d
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80e14d
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80e11c
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80e276
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
push 0x80f38c
lea ecx, [ebp - 0x600]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x600]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x5fc]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x5fc]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e25d
mov byte [ebp - 0x299], 1
push 0x80f38c
lea ecx, [ebp - 0x608]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x608]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x604]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x604]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push 0x80f38c
lea ecx, [ebp - 0x610]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x610]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x60c]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x60c]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80e276
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80e180
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
mov eax, dword [0x8d3cec]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x614]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x614]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e31d
mov eax, dword [0x8d3cec]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x618]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x618]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d3cec]
push dword [eax]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x61c]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x61c]
call fcn.0080c374
jmp 0x80e4b6
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x48]
mov edx, dword [0x8d3cec]
mov edx, dword [edx]
lea eax, [ebp - 0x620]
mov ecx, 0x80f2cc
call fcn.0040acf0
mov eax, dword [ebp - 0x620]
lea ecx, [ebp - 0x290]
mov edx, 0x10
call fcn.00423c38
test eax, eax
jne 0x80e3a1
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2e0
call fcn.0040ae88
je 0x80e387
mov eax, dword [ebp - 0x27c]
mov edx, 0x80f2f4
call fcn.0040ae88
je 0x80e387
mov eax, dword [esi]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x290]
call fcn.00423c88
test eax, eax
je 0x80e356
lea eax, [ebp - 0x290]
call fcn.00423cac
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80e4b6
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
mov eax, dword [0x8d3cec]
push dword [eax]
lea ecx, [ebp - 0x628]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x628]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x624]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x624]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e49d
mov byte [ebp - 0x299], 1
mov eax, dword [0x8d3cec]
push dword [eax]
lea ecx, [ebp - 0x630]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x630]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x62c]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x62c]
mov eax, dword [0x8dbfac]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [0x8d3cec]
push dword [eax]
lea ecx, [ebp - 0x638]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x638]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x634]
mov edx, 5
call fcn.0040ad78
mov eax, dword [ebp - 0x634]
call fcn.0080c374
cmp byte [ebp - 0x299], 0
jne 0x80e4b6
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80e3ba
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
call fcn.0040ae88
je 0x80e64c
mov eax, dword [0x8d3b64]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
call fcn.0080c588
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
lea eax, [ebp - 0x4b0]
push eax
push 0
push 0
push 2
push 0
call fcn.00535794
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0x4b0]
mov ecx, 0x104
call fcn.0040ab40
lea edx, [ebp - 0x63c]
mov eax, dword [ebp - 0x1c]
call fcn.0042a550
mov edx, dword [ebp - 0x63c]
lea eax, [ebp - 0x1c]
call fcn.0040a154
push dword [ebp - 0x1c]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x640]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x640]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e586
push dword [ebp - 0x1c]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x644]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x644]
call fcn.0080c374
jmp 0x80e591
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
call fcn.0080c588
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
lea eax, [ebp - 0x4b0]
push eax
push 0
push 0
push 0x17
push 0
call fcn.00535794
lea eax, [ebp - 0x20]
lea edx, [ebp - 0x4b0]
mov ecx, 0x104
call fcn.0040ab40
lea edx, [ebp - 0x648]
mov eax, dword [ebp - 0x20]
call fcn.0042a550
mov edx, dword [ebp - 0x648]
lea eax, [ebp - 0x20]
call fcn.0040a154
push dword [ebp - 0x20]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x64c]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x64c]
mov dl, 1
call fcn.004238d8
test al, al
je 0x80e641
push dword [ebp - 0x20]
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x650]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x650]
call fcn.0080c374
jmp 0x80e64c
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
call fcn.0080c588
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
lea eax, [ebp - 0x654]
mov ecx, dword [ebp - 4]
mov edx, 0x80f3ec
call fcn.0040acf0
mov edx, dword [ebp - 0x654]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80e6e1
push 0x80f40c
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x658]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x658]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x65c]
mov ecx, dword [ebp - 4]
mov edx, 0x80f3ec
call fcn.0040acf0
mov edx, dword [ebp - 0x65c]
mov eax, 0x80000001
call fcn.0080c838
jmp 0x80e804
mov ecx, dword [esi]
mov edx, 0x80f3ec
mov eax, 0x80000001
call fcn.005d42a0
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80e804
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
push 0x80f3ec
lea ecx, [ebp - 0x664]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x664]
push 0x80f210
push dword [ebp - 4]
lea eax, [ebp - 0x660]
mov edx, 4
call fcn.0040ad78
mov edx, dword [ebp - 0x660]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80e7eb
mov byte [ebp - 0x299], 1
push 0x80f40c
lea ecx, [ebp - 0x66c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x66c]
push 0x80f210
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x668]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x668]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push 0x80f3ec
lea ecx, [ebp - 0x674]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x674]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x670]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x670]
mov eax, 0x80000001
call fcn.0080c838
cmp byte [ebp - 0x299], 0
jne 0x80e804
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80e70b
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
lea eax, [ebp - 0x678]
mov ecx, dword [ebp - 4]
mov edx, 0x80f3ec
call fcn.0040acf0
mov edx, dword [ebp - 0x678]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80e899
push 0x80f460
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x67c]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x67c]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x680]
mov ecx, dword [ebp - 4]
mov edx, 0x80f3ec
call fcn.0040acf0
mov edx, dword [ebp - 0x680]
mov eax, 0x80000002
call fcn.0080c838
jmp 0x80e9bc
mov ecx, dword [esi]
mov edx, 0x80f3ec
mov eax, 0x80000002
call fcn.005d42a0
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x80e9bc
or ebx, 0xffffffff
mov byte [ebp - 0x299], 0
inc ebx
push 0x80f3ec
lea ecx, [ebp - 0x688]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x688]
push 0x80f210
push dword [ebp - 4]
lea eax, [ebp - 0x684]
mov edx, 4
call fcn.0040ad78
mov edx, dword [ebp - 0x684]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80e9a3
mov byte [ebp - 0x299], 1
push 0x80f460
lea ecx, [ebp - 0x690]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x690]
push 0x80f210
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x68c]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x68c]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push 0x80f3ec
lea ecx, [ebp - 0x698]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x698]
push 0x80f210
push dword [ebp - 4]
push 0x80f210
lea eax, [ebp - 0x694]
mov edx, 5
call fcn.0040ad78
mov edx, dword [ebp - 0x694]
mov eax, 0x80000002
call fcn.0080c838
cmp byte [ebp - 0x299], 0
jne 0x80e9bc
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp ebx, eax
jne 0x80e8c3
mov eax, dword [0x8d3d98]
mov eax, dword [eax]
call fcn.005c8e1c
cmp byte [0x8dc001], 0
je 0x80f14f
lea eax, [ebp - 0x69c]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f4a8
call fcn.0040acf0
mov edx, dword [ebp - 0x69c]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80ea4c
push 0x80f520
push dword [ebp - 0xc]
push 0x80f450
lea eax, [ebp - 0x6a0]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6a0]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6a4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f4a8
call fcn.0040acf0
mov edx, dword [ebp - 0x6a4]
mov eax, 0x80000001
call fcn.0080c838
lea eax, [ebp - 0x6a8]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f4a8
call fcn.0040acf0
mov edx, dword [ebp - 0x6a8]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80eac3
push 0x80f5bc
push dword [ebp - 0xc]
push 0x80f450
lea eax, [ebp - 0x6ac]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6ac]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6b0]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f4a8
call fcn.0040acf0
mov edx, dword [ebp - 0x6b0]
mov eax, 0x80000002
call fcn.0080c838
mov eax, dword [0x8d3768]
cmp byte [eax], 0
je 0x80eb44
lea eax, [ebp - 0x6b4]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f65c
call fcn.0040acf0
mov edx, dword [ebp - 0x6b4]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80eb44
push 0x80f6ec
push dword [ebp - 0xc]
push 0x80f450
lea eax, [ebp - 0x6b8]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6b8]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6bc]
mov ecx, dword [ebp - 0xc]
mov edx, 0x80f65c
call fcn.0040acf0
mov edx, dword [ebp - 0x6bc]
mov eax, 0x80000002
call fcn.0080c838
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.0040ae88
je 0x80eda8
lea eax, [ebp - 0x6c0]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f7a4
call fcn.0040acf0
mov edx, dword [ebp - 0x6c0]
mov eax, 0x80000000
call fcn.005d4ca4
test al, al
je 0x80ebcc
push 0x80f7c0
push dword [ebp - 0x10]
push 0x80f450
lea eax, [ebp - 0x6c4]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6c4]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6c8]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f7a4
call fcn.0040acf0
mov edx, dword [ebp - 0x6c8]
mov eax, 0x80000000
call fcn.0080c838
lea eax, [ebp - 0x6cc]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f800
call fcn.0040acf0
mov edx, dword [ebp - 0x6cc]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80ec43
push 0x80f83c
push dword [ebp - 0x10]
push 0x80f450
lea eax, [ebp - 0x6d0]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6d0]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6d4]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f800
call fcn.0040acf0
mov edx, dword [ebp - 0x6d4]
mov eax, 0x80000002
call fcn.0080c838
lea eax, [ebp - 0x6d8]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f8a0
call fcn.0040acf0
mov edx, dword [ebp - 0x6d8]
mov eax, 0x80000000
call fcn.005d4ca4
test al, al
je 0x80ecba
push 0x80f8d4
push dword [ebp - 0x10]
push 0x80f450
lea eax, [ebp - 0x6dc]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6dc]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6e0]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f8a0
call fcn.0040acf0
mov edx, dword [ebp - 0x6e0]
mov eax, 0x80000000
call fcn.0080c838
lea eax, [ebp - 0x6e4]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f92c
call fcn.0040acf0
mov edx, dword [ebp - 0x6e4]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80ed31
push 0x80f984
push dword [ebp - 0x10]
push 0x80f450
lea eax, [ebp - 0x6e8]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6e8]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6ec]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f92c
call fcn.0040acf0
mov edx, dword [ebp - 0x6ec]
mov eax, 0x80000001
call fcn.0080c838
lea eax, [ebp - 0x6f0]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f92c
call fcn.0040acf0
mov edx, dword [ebp - 0x6f0]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80eda8
push 0x80fa00
push dword [ebp - 0x10]
push 0x80f450
lea eax, [ebp - 0x6f4]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x6f4]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x6f8]
mov ecx, dword [ebp - 0x10]
mov edx, 0x80f92c
call fcn.0040acf0
mov edx, dword [ebp - 0x6f8]
mov eax, 0x80000002
call fcn.0080c838
lea eax, [ebp - 0x6fc]
mov ecx, dword [ebp - 4]
mov edx, 0x80fa7c
call fcn.0040acf0
mov edx, dword [ebp - 0x6fc]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80ee1f
push 0x80fb10
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x700]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x700]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x704]
mov ecx, dword [ebp - 4]
mov edx, 0x80fa7c
call fcn.0040acf0
mov edx, dword [ebp - 0x704]
mov eax, 0x80000001
call fcn.0080c838
lea eax, [ebp - 0x708]
mov ecx, dword [ebp - 4]
mov edx, 0x80fa7c
call fcn.0040acf0
mov edx, dword [ebp - 0x708]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80ee96
push 0x80fbc8
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x70c]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x70c]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x710]
mov ecx, dword [ebp - 4]
mov edx, 0x80fa7c
call fcn.0040acf0
mov edx, dword [ebp - 0x710]
mov eax, 0x80000002
call fcn.0080c838
lea eax, [ebp - 0x714]
mov ecx, dword [ebp - 4]
mov edx, 0x80fc80
call fcn.0040acf0
mov edx, dword [ebp - 0x714]
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80ef0d
push 0x80fd30
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x718]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x718]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x71c]
mov ecx, dword [ebp - 4]
mov edx, 0x80fc80
call fcn.0040acf0
mov edx, dword [ebp - 0x71c]
mov eax, 0x80000001
call fcn.0080c838
lea eax, [ebp - 0x720]
mov ecx, dword [ebp - 4]
mov edx, 0x80fc80
call fcn.0040acf0
mov edx, dword [ebp - 0x720]
mov eax, 0x80000002
call fcn.005d4ca4
test al, al
je 0x80ef84
push 0x80fe04
push dword [ebp - 4]
push 0x80f450
lea eax, [ebp - 0x724]
mov edx, 3
call fcn.0040ad78
mov edx, dword [ebp - 0x724]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
lea eax, [ebp - 0x728]
mov ecx, dword [ebp - 4]
mov edx, 0x80fc80
call fcn.0040acf0
mov edx, dword [ebp - 0x728]
mov eax, 0x80000002
call fcn.0080c838
mov ecx, dword [esi]
mov edx, 0x80fedc
mov eax, 0x80000001
call fcn.005d4370
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x80f0b3
inc eax
mov dword [ebp - 0x2a0], eax
xor ebx, ebx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x72c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x72c]
mov edx, 0x80fedc
mov eax, 0x80000001
call fcn.005d4440
lea edx, [ebp - 0x730]
mov eax, dword [ebp - 4]
call fcn.004221d0
mov eax, dword [ebp - 0x730]
push eax
lea edx, [ebp - 0x734]
mov eax, dword [ebp - 0x18]
call fcn.004221d0
mov edx, dword [ebp - 0x734]
pop eax
call fcn.0040ae88
je 0x80f071
lea ecx, [ebp - 0x73c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x73c]
lea edx, [ebp - 0x738]
call fcn.004221d0
mov eax, dword [ebp - 0x738]
push eax
push 0x80f210
lea edx, [ebp - 0x744]
mov eax, dword [ebp - 4]
call fcn.004221d0
push dword [ebp - 0x744]
push 0x80f210
lea eax, [ebp - 0x740]
mov edx, 3
call fcn.0040ad78
mov eax, dword [ebp - 0x740]
mov ecx, 1
pop edx
call fcn.0040b0d0
test eax, eax
jle 0x80f0a6
lea ecx, [ebp - 0x74c]
mov eax, dword [esi]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x74c]
lea eax, [ebp - 0x748]
mov edx, 0x80ff4c
call fcn.0040acf0
mov edx, dword [ebp - 0x748]
mov eax, dword [0x8dbfb0]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
inc ebx
dec dword [ebp - 0x2a0]
jne 0x80efae
mov eax, dword [ebp - 8]
test eax, eax
je 0x80f0bf
sub eax, 4
mov eax, dword [eax]
cmp eax, 3
jle 0x80f14f
mov edx, 0x80ffe0
mov eax, 0x80000001
call fcn.005d4ca4
test al, al
je 0x80f0e3
mov eax, dword [ebp - 8]
call fcn.0080cba4
mov ecx, dword [ebp - 8]
mov edx, 0x810074
mov eax, 0x80000001
call fcn.0080cdf8
mov ecx, dword [ebp - 8]
mov edx, 0x8100dc
mov eax, 0x80000001
call fcn.0080cdf8
mov ecx, dword [ebp - 8]
mov edx, 0x810074
mov eax, 0x80000002
call fcn.0080cdf8
mov ecx, dword [ebp - 8]
mov edx, 0x8100dc
mov eax, 0x80000002
call fcn.0080cdf8
mov ecx, dword [ebp - 8]
mov edx, 0x81014c
mov eax, 0x80000002
call fcn.0080cdf8
mov ecx, dword [ebp - 8]
mov edx, 0x8101cc
mov eax, 0x80000002
call fcn.0080cdf8
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x458]
mov edx, dword [eax + 0x54]
sub edx, 8
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x448]
call fcn.00505818
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x454]
mov dl, 1
call fcn.005062a8
mov eax, dword [ebp - 0x294]
mov eax, dword [eax + 0x464]
mov dl, 1
call fcn.005062a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x80f1fb
lea eax, [ebp - 0x74c]
mov edx, 0x64
call fcn.00409d8c
lea eax, [ebp - 0x5bc]
mov edx, 0x1d
call fcn.00409d8c
lea eax, [ebp - 0x4d0]
mov edx, 8
call fcn.00409d8c
lea eax, [ebp - 0x290]
mov edx, dword [0x41b1d0]
call fcn.0040b38c
lea eax, [ebp - 0x20]
mov edx, 8
call fcn.00409d8c
ret