Function at 0x887620
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x45
push 0
push 0
dec ecx
jne 0x887628
push ebx
push esi
push edi
mov dword [ebp - 0x60], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x889623
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x8870d0]
call fcn.0040999c
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x887667
sub edx, 0xfffffff8
call fcn.00410d98
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x10], ebx
call fcn.007532c0
test al, al
jne 0x887685
push 0
call fcn.00753280
call fcn.007532c0
test al, al
jne 0x887695
push 0
call fcn.00753280
lea edx, [ebp - 0x58]
mov eax, 0x889640
call fcn.0043be70
lea edx, [ebp - 0x178]
mov eax, 0x23
call fcn.007451e4
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x28
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
mov ebx, dword [eax + 0x10]
lea eax, [ebx + 0x28]
mov edx, 0x88965c
call fcn.0040ca34
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x28]
mov dl, 1
call fcn.00430d08
test al, al
jne 0x887729
xor eax, eax
push ebp
push 0x88771f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x28]
call fcn.0043151c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887729
mov eax, 0xa
call fcn.004c78cc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x30
call fcn.0040b8d8
lea edx, [ebp - 0x180]
mov eax, dword [0x8dd49c]
mov eax, dword [eax]
call fcn.005e982c
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.004311a0
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x28
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov byte [eax + 0x54], 0
call fcn.00433e5c
fstp qword [ebp - 0x98]
wait
push dword [ebp - 0x94]
push dword [ebp - 0x98]
lea edx, [ebp - 0x184]
mov eax, dword [0x8dd7e8]
call fcn.00434e58
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x90]
add eax, 0x1c
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
lea edx, [eax + 0x1c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
call fcn.008529b0
lea eax, [ebp - 0x188]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov ecx, 4
mov edx, 5
call fcn.0040cc5c
push dword [ebp - 0x188]
lea eax, [ebp - 0x18c]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov ecx, 2
mov edx, 3
call fcn.0040cc5c
push dword [ebp - 0x18c]
lea eax, [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov ecx, 2
mov edx, 1
call fcn.0040cc5c
push dword [ebp - 0x190]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x58
mov edx, 3
call fcn.0040cb14
call fcn.00433ebc
fstp qword [ebp - 0xa0]
wait
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
lea edx, [ebp - 0x194]
mov eax, dword [0x8dd7e8]
call fcn.00434e7c
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x90]
add eax, 0x1c
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
lea edx, [eax + 0x1c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
call fcn.008529b0
mov eax, dword [ebp - 0x90]
mov ebx, dword [eax + 0x10]
lea eax, [ebx + 0x58]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x1c]
call fcn.0040ca34
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x2c
call fcn.0040b8b4
xor eax, eax
push ebp
push 0x88791b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x198]
call fcn.0043ee20
mov edx, dword [ebp - 0x198]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x2c
call fcn.0040bca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887925
mov eax, dword [ebp - 0x90]
mov ebx, dword [eax + 0x10]
cmp dword [ebx + 0x2c], 0
jne 0x887938
mov al, 1
jmp 0x887948
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x887942
mov eax, dword [eax - 4]
cmp eax, 0xa
setl al
test al, al
je 0x887990
xor eax, eax
push ebp
push 0x887986
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x19c]
call fcn.0043ee20
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x2c
call fcn.0040bca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887990
lea eax, [ebp - 0xc]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x2c]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x10]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x34]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x14]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x20]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x30]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x28]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x24]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x18]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x1c]
mov edx, 0x889684
call fcn.0040bcec
mov eax, dword [ebp - 0x90]
add eax, 0x18
mov edx, 0x889684
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
add eax, 0x14
mov edx, 0x889684
call fcn.0040bca4
lea eax, [ebp - 0x38]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x3c]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x40]
mov edx, 0x889684
call fcn.0040bcec
lea eax, [ebp - 0x44]
mov edx, 0x889684
call fcn.0040bcec
mov eax, dword [ebp - 0x90]
mov byte [eax + 0xd], 0
lea eax, [ebp - 0x48]
call fcn.0040b8b4
lea eax, [ebp - 0x4c]
call fcn.0040b8b4
lea eax, [ebp - 0x50]
call fcn.0040b8b4
lea eax, [ebp - 0x54]
call fcn.0040b8b4
mov eax, dword [ebp - 0x90]
add eax, 0x1c
call fcn.0040b8b4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x1a0]
mov ecx, 0x889694
call fcn.0040ca8c
mov eax, dword [ebp - 0x1a0]
mov dl, 1
call fcn.00430c70
cmp al, 1
jne 0x887d1b
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dl, 1
mov eax, dword [0x491714]
call fcn.0040999c
mov dword [ebp - 0x6c], eax
xor eax, eax
push ebp
push 0x887b3a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x1a4]
mov ecx, 0x889694
call fcn.0040ca8c
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x6c]
call fcn.004baf5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887b46
test bl, bl
jne 0x887ce4
mov eax, dword [ebp - 0x90]
add eax, 0x20
call fcn.0040b8d8
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edx, eax
mov eax, dword [ebp - 0x90]
add eax, 0x20
xor ecx, ecx
call fcn.0040c438
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 0x90]
add eax, 0x20
call fcn.0040be88
mov edx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 4]
pop ecx
call fcn.00407720
push 0x8896b4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
push dword [eax + 0x3c]
push 0x8896f0
lea eax, [ebp - 0x1b0]
mov edx, 3
call fcn.0040c1c4
mov edx, dword [ebp - 0x1b0]
lea eax, [ebp - 0x1ac]
call fcn.0040c8f4
push dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
push dword [eax + 0x58]
push 0x889700
lea eax, [ebp - 0x1b8]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x20]
call fcn.0040c8f4
mov eax, dword [ebp - 0x1b8]
lea edx, [ebp - 0x1b4]
call fcn.0042fb4c
push dword [ebp - 0x1b4]
push 0x889710
lea eax, [ebp - 0x1a8]
mov edx, 5
call fcn.0040cb14
mov edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x90]
add eax, 0x20
mov ecx, 0
call fcn.0040c4b4
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x887c6e
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x887c67
sub edx, 0xffffffb0
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x20], 0
je 0x887cd6
push 0x889720
mov eax, dword [ebp - 0x90]
push dword [eax + 0x20]
push 0x889734
mov eax, dword [ebp - 0x90]
add eax, 0x20
mov edx, 3
call fcn.0040c1c4
mov eax, 5
call fcn.004c78cc
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x887cd6
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x887ccf
sub edx, 0xffffffb4
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
add eax, 0x20
call fcn.0040b8d8
mov eax, dword [ebp - 0x6c]
call fcn.004baef4
xor edx, edx
push ebp
push 0x887d11
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x6c]
xor edx, edx
mov dword [ebp - 0x6c], edx
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887d1b
xor ebx, ebx
xor eax, eax
push ebp
push 0x887d46
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x87c994]
call fcn.0087d054
mov dword [ebp - 0x80], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887d52
test bl, bl
jne 0x887d84
xor eax, eax
push ebp
push 0x887d78
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887d84
test bl, bl
jne 0x887e30
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x88]
push dword [eax + 0x134]
push dword [eax + 0x130]
lea eax, [ebp - 0xc]
call fcn.007101ec
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x80]
mov ebx, dword [edx + 0x88]
mov edx, dword [ebx + 0x78]
call fcn.0040bcec
lea eax, [ebp - 0x24]
mov edx, dword [ebx + 0x7c]
call fcn.0040bcec
lea eax, [ebp - 0x18]
mov edx, dword [ebx + 0x140]
call fcn.0040bcec
lea eax, [ebp - 0x1c]
mov edx, dword [ebx + 0x48]
call fcn.0040bcec
movzx eax, byte [ebx + 0xac]
mov edx, dword [ebp - 0x90]
mov byte [edx + 0xd], al
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + 4]
call fcn.00430488
lea eax, [ebp - 0x14]
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 0x44]
call fcn.0040bcec
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x80]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 0x138]
call fcn.0040bcec
xor eax, eax
push ebp
push 0x887e52
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887e5c
xor eax, eax
push ebp
push 0x887e7c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x80]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887e86
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
xor eax, eax
push ebp
push 0x887ebb
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x884c10]
call fcn.00884f80
mov dword [ebp - 0x74], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887ec7
test bl, bl
jne 0x887ef9
xor eax, eax
push ebp
push 0x887eed
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x887ef9
xor eax, eax
push ebp
push 0x88800b
push dword fs:[eax]
mov dword fs:[eax], esp
test bl, bl
jne 0x888001
lea eax, [ebp - 0x48]
mov edx, dword [ebp - 0x74]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 8]
call fcn.0040bcec
push dword [ebp - 0x48]
push 0x889684
lea edx, [ebp - 0x1bc]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + 0x34]
call fcn.00430488
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.0040cb14
push dword [ebp - 0x48]
push 0x889684
lea edx, [ebp - 0x1c0]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + 0x84]
call fcn.00430488
push dword [ebp - 0x1c0]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.0040cb14
push dword [ebp - 0x48]
push 0x889684
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x88]
push dword [eax + 0x14]
push dword [eax + 0x10]
lea eax, [ebp - 0x1c4]
call fcn.007101ec
push dword [ebp - 0x1c4]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.0040cb14
push dword [ebp - 0x48]
push 0x889748
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x88]
push dword [eax + 0x6c]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.0040cb14
push dword [ebp - 0x48]
push 0x889760
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x88]
push dword [eax + 0x78]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.0040cb14
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888015
xor eax, eax
push ebp
push 0x888037
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888041
xor eax, eax
push ebp
push 0x888061
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x74]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88806b
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
xor eax, eax
push ebp
push 0x8880a3
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x871208]
call fcn.008716e0
mov dword [ebp - 0x88], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8880af
test bl, bl
jne 0x8880e4
xor eax, eax
push ebp
push 0x8880d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8880e4
test bl, bl
jne 0x888126
lea eax, [ebp - 0x4c]
mov edx, dword [ebp - 0x88]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 0x2c]
call fcn.0040bcec
push dword [ebp - 0x4c]
push 0x889684
mov eax, dword [ebp - 0x88]
mov eax, dword [eax + 0x88]
push dword [eax + 0x80]
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.0040cb14
xor eax, eax
push ebp
push 0x88814b
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888155
xor eax, eax
push ebp
push 0x888178
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x88]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888182
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
xor eax, eax
push ebp
push 0x8881b7
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x873a20]
call fcn.00873d48
mov dword [ebp - 0x78], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8881c3
test bl, bl
jne 0x8881f5
xor eax, eax
push ebp
push 0x8881e9
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8881f5
test bl, bl
jne 0x88822e
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 0x78]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 0x40]
call fcn.0040bcec
push dword [ebp - 0x54]
push 0x889778
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 0x88]
push dword [eax + 0x44]
lea eax, [ebp - 0x54]
mov edx, 3
call fcn.0040cb14
xor eax, eax
push ebp
push 0x888250
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88825a
xor eax, eax
push ebp
push 0x88827a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x78]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888284
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
xor eax, eax
push ebp
push 0x8882b9
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x72f95c]
call fcn.0072fc40
mov dword [ebp - 0x7c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8882c5
test bl, bl
jne 0x8882f7
xor eax, eax
push ebp
push 0x8882eb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8882f7
test bl, bl
jne 0x888327
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x7c]
call fcn.0072cd3c
push dword [ebp - 0x50]
push 0x88979c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 0x88]
push dword [eax + 0x38]
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.0040cb14
xor eax, eax
push ebp
push 0x888349
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888353
xor eax, eax
push ebp
push 0x888373
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x7c]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88837d
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
test bl, bl
jne 0x8883c2
xor eax, eax
push ebp
push 0x8883b6
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x882830]
call fcn.00882c88
mov dword [ebp - 0x70], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8883c2
xor eax, eax
push ebp
push 0x8883e4
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8883f0
mov eax, dword [ebp - 0x90]
add eax, 0x18
mov edx, 0x8897bc
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
add eax, 0x14
mov edx, 0x8897bc
call fcn.0040bca4
test bl, bl
jne 0x888476
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + 0x80]
call fcn.00430488
mov edx, dword [ebp - 0x1c8]
mov eax, dword [ebp - 0x90]
add eax, 0x18
call fcn.0040bca4
lea edx, [ebp - 0x1cc]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 0x88]
mov eax, dword [eax + 0x88]
call fcn.00430488
mov edx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x90]
add eax, 0x14
call fcn.0040bca4
xor eax, eax
push ebp
push 0x888498
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8884a2
xor eax, eax
push ebp
push 0x8884c2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x70]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8884cc
mov eax, 0xa
call fcn.004c78cc
xor ebx, ebx
xor eax, eax
push ebp
push 0x888504
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x878190]
call fcn.008789dc
mov dword [ebp - 0x84], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888510
test bl, bl
jne 0x888545
xor eax, eax
push ebp
push 0x888539
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888545
test bl, bl
jne 0x888616
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x84]
mov edx, dword [edx + 0x88]
mov edx, dword [edx + 0x24]
call fcn.0040bcec
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x88]
mov edx, dword [eax + 0x68]
mov dword [ebp - 0xa8], edx
mov edx, dword [eax + 0x6c]
mov dword [ebp - 0xa4], edx
push dword [ebp - 0xa4]
push dword [ebp - 0xa8]
lea edx, [ebp - 0x3c]
mov eax, dword [0x8dd7e8]
call fcn.00434e58
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x88]
mov edx, dword [eax + 0x78]
mov dword [ebp - 0xb0], edx
mov edx, dword [eax + 0x7c]
mov dword [ebp - 0xac], edx
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
lea edx, [ebp - 0x40]
mov eax, dword [0x8dd7e8]
call fcn.00434e58
lea eax, [ebp - 0x44]
mov edx, dword [ebp - 0x84]
mov ebx, dword [edx + 0x88]
mov edx, dword [ebx + 0xc4]
call fcn.0040bcec
lea eax, [ebp - 0x28]
mov edx, dword [ebx + 0xa8]
call fcn.0040bcec
lea eax, [ebp - 0x2c]
mov edx, dword [ebx + 0x13c]
call fcn.0040bcec
lea eax, [ebp - 0x20]
mov edx, dword [ebx + 0xf0]
call fcn.0040bcec
xor eax, eax
push ebp
push 0x88863b
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888645
xor eax, eax
push ebp
push 0x888668
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x84]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888672
movzx eax, byte [0x8897c0]
push eax
lea eax, [ebp - 0x1d0]
push eax
xor ecx, ecx
mov edx, 0x8897d0
mov eax, dword [ebp - 0x28]
call fcn.0043a6dc
mov edx, dword [ebp - 0x1d0]
lea eax, [ebp - 0x28]
call fcn.0040bcec
mov eax, 0xa
call fcn.004c78cc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov byte [eax + 0x54], 0
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889684
call fcn.0040bca4
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x8886f4
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x8886ed
sub edx, 0xffffffb8
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x8897e0
mov edx, 0x889808
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888776
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889684
call fcn.0040bca4
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888749
sub edx, 0xffffffbc
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x88981c
mov edx, 0x889850
call fcn.00886518
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888783
sub edx, 0xffffffc0
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x8887b9
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889864
mov edx, 0x88988c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x8887e8
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x8898a0
mov edx, 0x8898c0
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888828
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x8898d4
mov edx, 0x8898f8
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x60]
call fcn.0088ab70
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888857
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x88990c
mov edx, 0x889930
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888886
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889944
mov edx, 0x889978
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888907
mov eax, dword [0x8ddd60]
mov eax, dword [eax]
call fcn.005e54d4
lea edx, [ebp - 0x1d8]
call fcn.00430488
push dword [ebp - 0x1d8]
push 0x88998c
mov eax, dword [0x8ddd60]
mov eax, dword [eax]
call fcn.005e54cc
lea edx, [ebp - 0x1dc]
call fcn.00430488
push dword [ebp - 0x1dc]
lea eax, [ebp - 0x1d4]
mov edx, 3
call fcn.0040cb14
mov eax, dword [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x8899a0
mov edx, 0x8899c0
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x2c
call fcn.0070ef7c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x88893e
mov edx, dword [eax + 0x2c]
push edx
mov edx, dword [ebp - 0x60]
push edx
mov ecx, 0x8899d4
mov edx, 0x8899f8
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888a0f
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x88897d
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888976
sub edx, 0xffffffc4
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov ecx, 1
mov edx, eax
mov eax, 0x889a0c
call fcn.0040cdb0
test eax, eax
jle 0x8889e9
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xb4], eax
mov ecx, 1
mov edx, dword [ebp - 0xb4]
mov eax, 0x889a0c
call fcn.0040cdb0
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x90]
add eax, 0x1c
push eax
mov ecx, dword [ebp - 0xb8]
dec ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
mov edx, 1
call fcn.0040cc5c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889a1c
mov edx, 0x889a40
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888a83
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889684
call fcn.0040bca4
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x888a83
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888a56
sub edx, 0xffffffc8
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889a54
mov edx, 0x889a88
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888ab8
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889a9c
mov edx, 0x889acc
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888aed
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889ae0
mov edx, 0x889b20
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888b13
mov edx, dword [eax + 0x28]
push edx
mov edx, dword [ebp - 0x60]
push edx
mov ecx, 0x889b34
mov edx, 0x889b6c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888b42
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889b80
mov edx, 0x889b9c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888b71
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889bb0
mov edx, 0x889bd4
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888ba0
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889be8
mov edx, 0x889c18
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888bcf
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889c2c
mov edx, 0x889c5c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888bfe
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889c70
mov edx, 0x889c9c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888c2d
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889cb0
mov edx, 0x889cd8
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888c5c
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889cec
mov edx, 0x889d0c
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888c8b
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889d20
mov edx, 0x889d44
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888cba
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889d58
mov edx, 0x889d78
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888ce9
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889d8c
mov edx, 0x889da8
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888d18
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889dbc
mov edx, 0x889dd0
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888d47
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889de4
mov edx, 0x889e10
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888d76
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889e24
mov edx, 0x889e48
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888da5
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889e5c
mov edx, 0x889e80
call fcn.00886518
lea eax, [ebp - 0x174]
push eax
call sub.kernel32.dll_GetTimeZoneInformation
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888e34
xor eax, eax
push ebp
push 0x888df1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x90]
add eax, 0x1c
lea edx, [ebp - 0x170]
mov ecx, 0x20
call fcn.0040c8d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888e0e
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889e94
mov edx, 0x889ec0
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888eda
xor eax, eax
push ebp
push 0x888e97
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, dword [ebp - 0x174]
mov eax, 0x77777777
imul ecx
sub edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [ebp - 0x1e0]
call fcn.00430488
mov edx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x90]
add eax, 0x1c
call fcn.0040bca4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x888eb4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889ed4
mov edx, 0x889f00
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888f3b
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x888f3b
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888f0e
sub edx, 0xffffffcc
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889f14
mov edx, 0x889f44
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x888faf
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889684
call fcn.0040bca4
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x888faf
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888f82
sub edx, 0xffffffd0
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889f58
mov edx, 0x889f78
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x54], 0
jne 0x889052
mov eax, dword [ebp - 0x90]
mov byte [eax + 0xc], 0
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x888ff8
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x888ff1
sub edx, 0xffffffd4
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
cmp byte [eax + 0xc], 0
jne 0x889019
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889f8c
call fcn.0040bca4
jmp 0x88902c
mov eax, dword [ebp - 0x90]
add eax, 0x1c
mov edx, 0x889fa0
call fcn.0040bca4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov ecx, 0x889fb4
mov edx, 0x889fc8
call fcn.00886518
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x44
call fcn.0040b8d8
mov eax, dword [ebp - 0x60]
mov edx, 0x889fdc
call fcn.0040cc24
jne 0x8895d3
xor ebx, ebx
xor eax, eax
push ebp
push 0x8890a4
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x72dd94]
call fcn.0072e11c
mov dword [ebp - 0x8c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8890b0
test bl, bl
jne 0x8890e5
xor eax, eax
push ebp
push 0x8890d9
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8890e5
test bl, bl
jne 0x88913d
xor eax, eax
push ebp
push 0x889133
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x8c]
call fcn.0072c988
lea edx, [ebp - 0x1e4]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x40
mov ecx, 0
call fcn.0040c4b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88913d
xor eax, eax
push ebp
push 0x889162
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
call dword [ecx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x88916c
xor eax, eax
push ebp
push 0x88918f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x8c]
call fcn.004099cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x889199
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x40], 0
je 0x8895c5
mov eax, dword [0x8dd8ec]
mov eax, dword [eax]
mov eax, dword [eax + 0x48c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x8891cc
mov eax, dword [eax - 4]
cmp eax, 9
jne 0x8895c5
xor eax, eax
push ebp
push 0x889238
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1ec]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x40]
call fcn.0040c8f4
mov eax, dword [ebp - 0x1ec]
push eax
call fcn.00608f44
lea ecx, [ebp - 0x1e8]
pop edx
call fcn.00608d30
mov edx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x50
mov ecx, 0
call fcn.0040c4b4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x889253
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
cmp dword [eax + 0x50], 0
je 0x8895c5
call fcn.00433e5c
fstp qword [ebp - 0xc8]
wait
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
lea edx, [ebp - 0x1f0]
mov eax, dword [0x8dd7e8]
call fcn.00434e58
mov edx, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x60
call fcn.0040bca4
lea eax, [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x60]
mov ecx, 2
mov edx, 4
call fcn.0040cc5c
push dword [ebp - 0x1f4]
push 0x889fec
lea eax, [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x60]
mov ecx, 2
mov edx, 1
call fcn.0040cc5c
push dword [ebp - 0x1f8]
push 0x889fec
lea eax, [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x60]
mov ecx, 4
mov edx, 7
call fcn.0040cc5c
push dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x64
mov edx, 5
call fcn.0040cb14
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x68
call fcn.008575bc
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
call fcn.0040b8d8
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov edx, 0x889ffc
call fcn.0040c0e8
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
push dword [eax + 0x48]
mov eax, dword [0x8dd8ec]
mov eax, dword [eax]
push dword [eax + 0x48c]
push 0x8896f0
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov edx, 3
call fcn.0040c1c4
lea eax, [ebp - 0x204]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x48]
call fcn.0040c8f4
push dword [ebp - 0x204]
lea edx, [ebp - 0x208]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x64]
call fcn.0042fb4c
push dword [ebp - 0x208]
push 0x889700
lea eax, [ebp - 0x200]
mov edx, 3
call fcn.0040cb14
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov ecx, 0
call fcn.0040c4b4
lea eax, [ebp - 0x210]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x48]
call fcn.0040c8f4
push dword [ebp - 0x210]
lea eax, [ebp - 0x218]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x68]
call fcn.0040c8f4
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x214]
call fcn.0042fb4c
push dword [ebp - 0x214]
push 0x889700
lea eax, [ebp - 0x20c]
mov edx, 3
call fcn.0040cb14
mov edx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov ecx, 0
call fcn.0040c4b4
lea eax, [ebp - 0x220]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x48]
call fcn.0040c8f4
push dword [ebp - 0x220]
lea eax, [ebp - 0x228]
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x50]
call fcn.0040c8f4
mov eax, dword [ebp - 0x228]
lea edx, [ebp - 0x224]
call fcn.0042fb4c
push dword [ebp - 0x224]
push 0x88a040
lea eax, [ebp - 0x21c]
mov edx, 3
call fcn.0040cb14
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov ecx, 0
call fcn.0040c4b4
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x48]
mov edx, dword [0x1578d3c]
call fcn.0040c28c
je 0x8895c5
mov eax, 0x1578d3c
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x48]
call fcn.0040bd48
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x889571
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x88956a
sub edx, 0xffffffd8
xor eax, eax
call fcn.004c776c
push 0x889720
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
push dword [eax + 0x48]
push 0x889734
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
add eax, 0x48
mov edx, 3
call fcn.0040c1c4
mov eax, dword [0x8dc9cc]
cmp byte [eax], 1
je 0x8895d3
mov eax, dword [0x8dc9cc]
cmp byte [eax], 0
jne 0x8895c5
mov edx, dword [ebp - 0x90]
test edx, edx
je 0x8895be
sub edx, 0xffffffdc
xor eax, eax
call fcn.004c776c
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 0x10]
call fcn.0088a650
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x88962a
lea eax, [ebp - 0x228]
mov edx, 0x1e
call fcn.0040b914
lea eax, [ebp - 0x1b0]
call fcn.0040b8d8
lea eax, [ebp - 0x1ac]
mov edx, 0xe
call fcn.0040b914
lea eax, [ebp - 0x5c]
call fcn.00410d80
lea eax, [ebp - 0x58]
mov edx, 0x14
call fcn.0040b914
pop eax
jmp eax