Function at 0x8dbc10
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x8dbc19
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x8df7f0
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x8df666
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x1050], 0
mov eax, dword [ebp - 4]
call fcn.00953508
mov eax, dword [ebp - 4]
cmp byte [eax + 0x103d], 0
je 0x8dbd1e
xor eax, eax
push ebp
push 0x8dbd14
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x8dbd03
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.008ebd90
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
call fcn.008dbab0
cmp eax, 3
je 0x8dbce2
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x105c]
mov eax, dword [eax + 0x1058]
push edx
push eax
call sub.kernel32.dll_GetTickCount
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
test edx, edx
jge 0x8dbcce
neg eax
adc edx, 0
neg edx
cmp edx, 0
jne 0x8dbcdc
cmp eax, 0x1f4
jb 0x8dbce2
jmp 0x8dbcde
jl 0x8dbce2
xor eax, eax
jmp 0x8dbce4
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x1047], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dbd0a
lea eax, [ebp - 0x28]
call fcn.004120b8
ret
cmp dword [ebp - 8], 0
jne 0x8dc8d3
cmp dword [ebp - 0xc], 1
jne 0x8dc8d3
xor edx, edx
push ebp
push 0x8dc8cc
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008db2ec
mov eax, dword [ebp - 4]
mov dword [eax + 0xa08], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x26b], 0
mov edx, dword [eax]
call dword [edx + 0xe0]
xor edx, edx
push ebp
push 0x8dc5c9
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xf48], 1
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00944048
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov dword [edx + 0x8a4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov eax, dword [eax + 0x4c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x8a8], eax
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 3
call fcn.0045818c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x30], 0
jne 0x8dbe2d
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.004586a4
mov esi, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
sub esi, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
sub esi, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
sub esi, dword [eax + 0x48]
jmp 0x8dbe39
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov esi, dword [eax + 0x48]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xe8]
test eax, eax
jle 0x8dbe63
mov edx, dword [0x98a548]
mov edx, esi
sub edx, 0xa
cmp eax, edx
jl 0x8dbf27
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xac0]
cmp eax, 5
ja case.default.0x8dbe7b
jmp dword [eax*4 + 0x8dbe82]
mov ebx, 0xfa
jmp 0x8dbec9
mov ebx, 0xd2
jmp 0x8dbec9
mov ebx, 0x122
jmp 0x8dbec9
mov ebx, 0x17c
jmp 0x8dbec9
mov ebx, 0x1c2
jmp 0x8dbec9
mov ebx, 0x12c
jmp 0x8dbec9
mov ebx, 0x122
mov eax, ebx
call fcn.008ae50c
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c0]
xor eax, eax
call fcn.00437fc0
mov edx, eax
mov eax, 0x32
call fcn.00437efc
mov edx, eax
add edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x48]
sub eax, 0x14
call fcn.00437efc
mov edx, eax
mov eax, 1
call fcn.00437fc0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
call fcn.00458434
jmp 0x8dbfd8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xac0]
cmp eax, 5
ja case.default.0x8dbf3f
jmp dword [eax*4 + 0x8dbf46]
mov ebx, 0x64
jmp 0x8dbf8d
mov ebx, 0x7d
jmp 0x8dbf8d
mov ebx, 0xa5
jmp 0x8dbf8d
mov ebx, 0xcd
jmp 0x8dbf8d
mov ebx, 0xf5
jmp 0x8dbf8d
mov ebx, 0x131
jmp 0x8dbf8d
mov ebx, 0x122
mov eax, ebx
call fcn.008ae50c
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [eax + 0xe8]
mov eax, ebx
call fcn.00437fc0
mov edx, eax
mov eax, esi
sub eax, 0x14
call fcn.00437efc
mov edx, eax
mov eax, 1
call fcn.00437fc0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov edx, dword [eax + 0x48]
inc edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xefc]
xor al, 1
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
cmp eax, dword [edx + 0x48]
setg bl
test bl, bl
je 0x8dc5bf
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jle 0x8dc144
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x8dc174
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jge 0x8dc17f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jle 0x8dc17f
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.008aef44
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov ebx, dword [eax + 0x7d8]
mov eax, dword [ebx + 0x58c]
cmp dword [eax + 0x30], 0
ja 0x8dc1e1
mov eax, dword [0x98a548]
mov eax, dword [ebx + 0x588]
cmp dword [eax + 0x30], 0
jbe 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
je 0x8dc21f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
cmp eax, dword [ebp - 0x14]
jle 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp eax, dword [ebp - 0x18]
jle 0x8dc5ad
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp byte [eax + 0xe1], 3
jne 0x8dc595
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa8c]
sar edx, 1
jns 0x8dc2aa
adc edx, 0
cmp eax, edx
jl 0x8dc2e2
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa90]
sar edx, 1
jns 0x8dc2da
adc edx, 0
cmp eax, edx
jge 0x8dc595
xor eax, eax
push ebp
push 0x8dc589
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp + 8], 0
jne 0x8dc306
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov byte [eax + 0x1c0], 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xe1], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dc4ea
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
call fcn.006118d4
test eax, eax
jle 0x8dc3c9
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov dl, 1
call fcn.005fd124
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xa94]
call fcn.0042451c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x2b0], 1
setg bl
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xfc], bl
xor eax, eax
push ebp
push 0x8dc4e3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov edx, dword [eax + 0xa94]
mov eax, dword [ebp - 4]
call fcn.008db39c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dc529
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x24], edx
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xe44]
call fcn.00600320
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00619530
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov dword [eax + 0xa78], 0
mov dword [eax + 0xa7c], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
mov edx, 0x64
call fcn.0044b198
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8dc5ad
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008eb550
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8dc5d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xef8]
test eax, eax
je 0x8dc695
cmp byte [eax + 0x57], 0
je 0x8dc695
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0x124]
test al, al
jne 0x8dc6b2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 1
jl 0x8dc652
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 4
jg 0x8dc652
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
jmp 0x8dc6b2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 0
jne 0x8dc6b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
fld qword [eax + 0x3f0]
fcomp dword [0x8df800]
fnstsw ax
sahf
je 0x8dc6b2
push 1
mov cl, 1
mov edx, 0x64
mov eax, dword [ebp - 4]
call fcn.00923048
jmp 0x8dc6b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe4]
cmp byte [ebp + 8], 0
jne 0x8dc6ef
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0
je 0x8dc6ef
mov eax, dword [0x98aad0]
mov eax, dword [eax]
xor edx, edx
call fcn.00478f6c
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
mov eax, dword [ebp - 4]
call fcn.0091e960
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b5]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
mov byte [edx + 0x26b], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
cmp byte [eax + 0x57], 0
je 0x8dc756
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov ebx, dword [eax + 0x7d8]
mov eax, dword [ebx + 0x490]
cmp dword [eax + 0x30], 0
jne 0x8dc894
lea edx, [ebp - 0x1c]
mov eax, dword [0x98a548]
mov eax, ebx
call fcn.0091c2dc
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00405738
je 0x8dc894
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xb60]
call fcn.00405738
jne 0x8dc7da
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb64]
mov edx, dword [ebp - 4]
imul dword [edx + 0xb68]
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x514]
mov edx, dword [ebx + 0x48]
imul edx, dword [ebx + 0x4c]
cmp eax, edx
je 0x8dc894
mov eax, dword [ebp - 4]
call fcn.008ebc10
test al, al
je 0x8dc86a
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
add eax, 0xb74
mov edx, dword [ebp - 0x1c]
call fcn.004053ec
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov byte [eax + 0xa72], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
cmp dword [eax + 0x30], 0
jbe 0x8dc84b
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x490]
mov edx, 0x64
call fcn.0044b198
jmp 0x8dc894
mov eax, dword [ebp - 4]
add eax, 0xb74
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xb60
call fcn.004053b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
mov byte [eax + 0x1c0], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dc8d3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
ret
cmp dword [ebp - 8], 1
jne 0x8dd288
cmp dword [ebp - 0xc], 0
jne 0x8dd288
xor edx, edx
push ebp
push 0x8dd187
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
cmp eax, dword [edx + 0x48]
setl bl
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.008db2ec
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xa08], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b4]
mov edx, dword [ebp - 4]
mov byte [edx + 0xf5a], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8dc97e
mov edx, dword [0x98a548]
mov byte [eax + 0x2b4], 0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe0]
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x220]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xe4]
test eax, eax
jl 0x8dca31
mov edx, dword [0x98a548]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
mov edx, dword [edx + 0x4c]
sub edx, 0xa
cmp eax, edx
jg 0x8dca31
mov edx, dword [0x98a548]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
call fcn.00458458
jmp 0x8dca65
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x4c]
sub eax, 0x96
mov edx, 0x104
call fcn.00437efc
mov edx, eax
mov eax, 0xa
call fcn.00437fc0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x22c]
xchg edx, eax
call fcn.00458458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov edx, dword [eax + 0x44]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x68]
test bl, bl
je 0x8dcfe9
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jle 0x8dcb6e
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x8dcb9e
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jge 0x8dcba9
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jle 0x8dcba9
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.008aef44
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov ebx, dword [eax + 0x7d8]
mov eax, dword [ebx + 0x58c]
cmp dword [eax + 0x30], 0
ja 0x8dcc0b
mov eax, dword [0x98a548]
mov eax, dword [ebx + 0x588]
cmp dword [eax + 0x30], 0
jbe 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
je 0x8dcc49
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
cmp eax, dword [ebp - 0x14]
jle 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp eax, dword [ebp - 0x18]
jle 0x8dcfd7
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp byte [eax + 0xe1], 3
jne 0x8dcfbf
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa8c]
sar edx, 1
jns 0x8dccd4
adc edx, 0
cmp eax, edx
jl 0x8dcd0c
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa90]
sar edx, 1
jns 0x8dcd04
adc edx, 0
cmp eax, edx
jge 0x8dcfbf
xor eax, eax
push ebp
push 0x8dcfb3
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp + 8], 0
jne 0x8dcd30
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov byte [eax + 0x1c0], 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xe1], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dcf14
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
call fcn.006118d4
test eax, eax
jle 0x8dcdf3
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov dl, 1
call fcn.005fd124
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xa94]
call fcn.0042451c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x2b0], 1
setg bl
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xfc], bl
xor eax, eax
push ebp
push 0x8dcf0d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov edx, dword [eax + 0xa94]
mov eax, dword [ebp - 4]
call fcn.008db39c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dcf53
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x24], edx
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xe44]
call fcn.00600320
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00619530
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov dword [eax + 0xa78], 0
mov dword [eax + 0xa7c], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
mov edx, 0x64
call fcn.0044b198
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8dcfd7
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008eb550
cmp byte [ebp + 8], 0
jne 0x8dd00b
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0
je 0x8dd00b
mov eax, dword [0x98aad0]
mov eax, dword [eax]
xor edx, edx
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x415], 0
je 0x8dd042
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.00478a0c
cmp eax, 2
jl 0x8dd042
push 0
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00946800
jmp 0x8dd04c
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dd191
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xf5a]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7c4]
mov byte [edx + 0x2b4], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe8]
mov eax, dword [ebp - 4]
call fcn.00944218
test al, al
je 0x8dd17c
xor eax, eax
push ebp
push 0x8dd172
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x8dd154
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x415]
mov byte [ebp - 0x21], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x415], 0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00944250
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dd15b
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dl, byte [ebp - 0x21]
mov byte [eax + 0x415], dl
ret
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
ret
cmp dword [ebp - 8], 0
jne 0x8ddd4a
cmp dword [ebp - 0xc], 2
jne 0x8ddd4a
xor edx, edx
push ebp
push 0x8ddd43
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008db2ec
mov eax, dword [ebp - 4]
mov dword [eax + 0xa08], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x26b], 0
mov edx, dword [eax]
call dword [edx + 0xe0]
xor edx, edx
push ebp
push 0x8ddafd
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xf48], 1
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00944048
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 4]
mov dword [edx + 0x8a4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov eax, dword [eax + 0x4c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x8a8], eax
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
xor edx, edx
call fcn.0044b5e0
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.008db484
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov dl, 4
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xef8]
test eax, eax
je 0x8dd464
cmp byte [eax + 0x57], 0
je 0x8dd464
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00946800
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
push 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov ecx, dword [eax + 0x500]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x50c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
jmp 0x8dd498
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
push 0
push 0
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x514]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079c954
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xd0]
cmp eax, 1
je 0x8dd4bf
mov edx, dword [0x98a548]
cmp eax, 2
jne 0x8dda5e
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jle 0x8dd535
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x8dd565
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jge 0x8dd570
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jle 0x8dd570
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.008aef44
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
cmp dword [eax + 0x30], 0
ja 0x8dd5da
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
cmp dword [eax + 0x30], 0
jbe 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
je 0x8dd618
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
cmp eax, dword [ebp - 0x14]
jle 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp eax, dword [ebp - 0x18]
jle 0x8dd9a6
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp byte [eax + 0xe1], 3
jne 0x8dd98e
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa8c]
sar edx, 1
jns 0x8dd6a3
adc edx, 0
cmp eax, edx
jl 0x8dd6db
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa90]
sar edx, 1
jns 0x8dd6d3
adc edx, 0
cmp eax, edx
jge 0x8dd98e
xor eax, eax
push ebp
push 0x8dd982
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp + 8], 0
jne 0x8dd6ff
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov byte [eax + 0x1c0], 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xe1], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dd8e3
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
call fcn.006118d4
test eax, eax
jle 0x8dd7c2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov dl, 1
call fcn.005fd124
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xa94]
call fcn.0042451c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x2b0], 1
setg bl
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xfc], bl
xor eax, eax
push ebp
push 0x8dd8dc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov edx, dword [eax + 0xa94]
mov eax, dword [ebp - 4]
call fcn.008db39c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dd922
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x24], edx
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xe44]
call fcn.00600320
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00619530
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov dword [eax + 0xa78], 0
mov dword [eax + 0xa7c], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
mov edx, 0x64
call fcn.0044b198
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8dd9a6
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008eb550
xor eax, eax
push ebp
push 0x8dda57
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0x10], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8dda1f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 1
jne 0x8dda1f
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0xd0], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
xor edx, edx
call fcn.008fb94c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8ddaf3
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0xd0], edx
ret
cmp byte [ebp + 8], 0
jne 0x8dda74
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
push 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 0
jne 0x8ddaae
mov eax, dword [ebp - 4]
cmp byte [eax + 0xacc], 0
je 0x8ddac4
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
xor edx, edx
call fcn.008fb94c
jmp 0x8ddaf3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
fld qword [eax + 0x3f0]
fcomp dword [0x8df800]
fnstsw ax
sahf
je 0x8ddaf3
push 0x40590000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618bac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8ddb07
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe4]
cmp byte [ebp + 8], 0
jne 0x8ddb57
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0
je 0x8ddb57
mov eax, dword [0x98aad0]
mov eax, dword [eax]
xor edx, edx
call fcn.00478f6c
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
mov eax, dword [ebp - 4]
call fcn.0091e960
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b5]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
mov byte [edx + 0x26b], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
cmp byte [eax + 0x57], 0
je 0x8ddbbe
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x490]
cmp dword [eax + 0x30], 0
jne 0x8ddd0b
lea edx, [ebp - 0x1c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.0091c2dc
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00405738
je 0x8ddd0b
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xb60]
call fcn.00405738
jne 0x8ddc51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb64]
mov edx, dword [ebp - 4]
imul dword [edx + 0xb68]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
mov edx, dword [edx + 0x48]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x514]
imul edx, dword [ecx + 0x4c]
cmp eax, edx
je 0x8ddd0b
mov eax, dword [ebp - 4]
call fcn.008ebc10
test al, al
je 0x8ddce1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
add eax, 0xb74
mov edx, dword [ebp - 0x1c]
call fcn.004053ec
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov byte [eax + 0xa72], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
cmp dword [eax + 0x30], 0
jbe 0x8ddcc2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x490]
mov edx, 0x64
call fcn.0044b198
jmp 0x8ddd0b
mov eax, dword [ebp - 4]
add eax, 0xb74
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xb60
call fcn.004053b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
mov byte [eax + 0x1c0], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8ddd4a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
ret
cmp dword [ebp - 8], 2
jne 0x8de482
cmp dword [ebp - 0xc], 0
jne 0x8de482
xor edx, edx
push ebp
push 0x8de381
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0xa08], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b4]
mov edx, dword [ebp - 4]
mov byte [edx + 0xf5a], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8dddd4
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x2b4], 0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov dl, 1
call fcn.0044b5e0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008db484
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x22c]
cmp eax, dword [edx + 0x30]
jne 0x8de08b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
call fcn.004583e8
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
push 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x220]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xe4]
test eax, eax
jl 0x8ddf9e
mov edx, dword [0x98a548]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x220]
mov edx, dword [edx + 0x4c]
sub edx, 0xa
cmp eax, edx
jg 0x8ddf9e
mov edx, dword [0x98a548]
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
call fcn.00458458
jmp 0x8ddfd2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x4c]
sub eax, 0x96
mov edx, 0x104
call fcn.00437efc
mov edx, eax
mov eax, 0xa
call fcn.00437fc0
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x22c]
xchg edx, eax
call fcn.00458458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.00458bcc
jmp 0x8de205
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov dl, 3
call fcn.0045818c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8a4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8a8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
call fcn.00458458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.0045840c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x3ac], 0
jne 0x8de185
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 3
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov edx, 0x7d0
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
xor edx, edx
call fcn.0045840c
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x514]
mov eax, dword [0x98a548]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0079c9c4
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x415], 0
je 0x8de23c
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.00478a0c
cmp eax, 2
jl 0x8de23c
push 1
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00946800
jmp 0x8de246
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8de38b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xf5a]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7c4]
mov byte [edx + 0x2b4], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe8]
mov eax, dword [ebp - 4]
call fcn.00944218
test al, al
je 0x8de376
xor eax, eax
push ebp
push 0x8de36c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x8de34e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x415]
mov byte [ebp - 0x21], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x415], 0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00944250
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8de355
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dl, byte [ebp - 0x21]
mov byte [eax + 0x415], dl
ret
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
ret
cmp dword [ebp - 8], 1
jne 0x8deeed
cmp dword [ebp - 0xc], 2
jne 0x8deeed
xor edx, edx
push ebp
push 0x8deee6
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.008db2ec
mov eax, dword [ebp - 4]
mov dword [eax + 0xa08], 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov byte [eax + 0x26b], 0
mov edx, dword [eax]
call dword [edx + 0xe0]
xor edx, edx
push ebp
push 0x8deca0
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xf48], 1
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00944048
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
xor edx, edx
call fcn.0044b5e0
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.008db484
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xef8]
test eax, eax
je 0x8de607
cmp byte [eax + 0x57], 0
je 0x8de607
push 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00946800
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
push 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov ecx, dword [eax + 0x500]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x50c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
jmp 0x8de63b
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
push 0
push 0
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x514]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079c954
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xd0]
cmp eax, 1
je 0x8de662
mov edx, dword [0x98a548]
cmp eax, 2
jne 0x8dec01
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jle 0x8de6d8
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jl 0x8de708
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov ebx, eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp ebx, eax
jge 0x8de713
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jle 0x8de713
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x14]
call fcn.008aef44
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
cmp dword [eax + 0x30], 0
ja 0x8de77d
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
cmp dword [eax + 0x30], 0
jbe 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x24], 3
je 0x8de7bb
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
cmp eax, dword [ebp - 0x14]
jle 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
cmp eax, dword [ebp - 0x18]
jle 0x8deb49
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp byte [eax + 0xe1], 3
jne 0x8deb31
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786f0
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa8c]
sar edx, 1
jns 0x8de846
adc edx, 0
cmp eax, edx
jl 0x8de87e
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.00474e44
call fcn.004786bc
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xa90]
sar edx, 1
jns 0x8de876
adc edx, 0
cmp eax, edx
jge 0x8deb31
xor eax, eax
push ebp
push 0x8deb25
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp + 8], 0
jne 0x8de8a2
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x588]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov byte [eax + 0x1c0], 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xe1], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa94], 0
je 0x8dea86
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
call fcn.006118d4
test eax, eax
jle 0x8de965
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x584]
mov dl, 1
call fcn.005fd124
push 0
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xa94]
call fcn.0042451c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0x54a], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
cmp dword [eax + 0x2b0], 1
setg bl
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov byte [eax + 0xfc], bl
xor eax, eax
push ebp
push 0x8dea7f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov edx, dword [eax + 0xa94]
mov eax, dword [ebp - 4]
call fcn.008db39c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8deac5
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov eax, dword [eax + 0x1bc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x24], edx
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618b1c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00624a6c
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xe44]
call fcn.00600320
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x514]
call fcn.00619530
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov dword [eax + 0xa78], 0
mov dword [eax + 0xa7c], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x58c]
mov edx, 0x64
call fcn.0044b198
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8deb49
push 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008eb550
xor eax, eax
push ebp
push 0x8debfa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov eax, dword [eax + 0xd0]
mov dword [ebp - 0x10], eax
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
cmp dword [eax + 0xa8c], 0
jle 0x8debc2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 1
jne 0x8debc2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov dword [eax + 0xd0], 2
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
xor edx, edx
call fcn.008fb94c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8dec96
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0xd0], edx
ret
cmp byte [ebp + 8], 0
jne 0x8dec17
mov eax, dword [0x98aad0]
mov eax, dword [eax]
mov dx, 0xfff5
call fcn.00478f6c
push 1
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov cl, 1
mov dl, 1
call fcn.009532b8
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp dword [eax + 0xd0], 0
jne 0x8dec51
mov eax, dword [ebp - 4]
cmp byte [eax + 0xacc], 0
je 0x8dec67
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
xor edx, edx
call fcn.008fb94c
jmp 0x8dec96
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
fld qword [eax + 0x3f0]
fcomp dword [0x8df800]
fnstsw ax
sahf
je 0x8dec96
push 0x40590000
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00618bac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8decaa
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe4]
cmp byte [ebp + 8], 0
jne 0x8decfa
mov eax, dword [0x98aad0]
mov eax, dword [eax]
cmp word [eax + 0x44], 0
je 0x8decfa
mov eax, dword [0x98aad0]
mov eax, dword [eax]
xor edx, edx
call fcn.00478f6c
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
mov eax, dword [ebp - 4]
call fcn.0091e960
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b5]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
mov byte [edx + 0x26b], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
cmp byte [eax + 0x57], 0
je 0x8ded61
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x590]
mov edx, dword [eax]
call dword [edx + 0x80]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x490]
cmp dword [eax + 0x30], 0
jne 0x8deeae
lea edx, [ebp - 0x1c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.0091c2dc
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00405738
je 0x8deeae
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7d8]
mov edx, dword [edx + 0xb60]
call fcn.00405738
jne 0x8dedf4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb64]
mov edx, dword [ebp - 4]
imul dword [edx + 0xb68]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x514]
mov edx, dword [edx + 0x48]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x514]
imul edx, dword [ecx + 0x4c]
cmp eax, edx
je 0x8deeae
mov eax, dword [ebp - 4]
call fcn.008ebc10
test al, al
je 0x8dee84
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
add eax, 0xb74
mov edx, dword [ebp - 0x1c]
call fcn.004053ec
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov byte [eax + 0xa72], 0
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
cmp dword [eax + 0x30], 0
jbe 0x8dee65
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x594]
xor edx, edx
call fcn.0044b198
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0x490]
mov edx, 0x64
call fcn.0044b198
jmp 0x8deeae
mov eax, dword [ebp - 4]
add eax, 0xb74
call fcn.004053b0
mov eax, dword [ebp - 4]
add eax, 0xb60
call fcn.004053b0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48c]
mov byte [eax + 0x1c0], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8deeed
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
ret
cmp dword [ebp - 8], 2
jne 0x8df65c
cmp dword [ebp - 0xc], 1
jne 0x8df65c
xor edx, edx
push ebp
push 0x8df592
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov dword [eax + 0xa08], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
xor edx, edx
mov dword [eax + 0xf8], edx
mov dword [eax + 0xfc], edx
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov al, byte [eax + 0x2b4]
mov edx, dword [ebp - 4]
mov byte [edx + 0xf5a], al
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0xf6], 0
je 0x8def79
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov byte [eax + 0x2b4], 0
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008b1ba0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50c]
mov dl, 1
call fcn.0044b5e0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008db484
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x22c]
cmp eax, dword [edx + 0x30]
jne 0x8df398
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov dl, 3
call fcn.0045818c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8a4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x8a8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
call fcn.00458458
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.00458bcc
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x3ac], 0
jne 0x8df08d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 3
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov edx, 0x7d0
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
mov dl, 2
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
xor edx, edx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 3
call fcn.0045818c
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
mov esi, dword [eax + 0xe8]
test esi, esi
jle 0x8df133
mov eax, dword [0x98a548]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x48]
sub eax, 0xa
cmp esi, eax
jl 0x8df1ee
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xac0]
cmp eax, 5
ja case.default.0x8df14b
jmp dword [eax*4 + 0x8df152]
mov ebx, 0xfa
jmp 0x8df199
mov ebx, 0xd2
jmp 0x8df199
mov ebx, 0x122
jmp 0x8df199
mov ebx, 0x17c
jmp 0x8df199
mov ebx, 0x1c2
jmp 0x8df199
mov ebx, 0x12c
jmp 0x8df199
mov ebx, 0x122
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x9c0]
xor eax, eax
call fcn.00437fc0
mov edx, eax
mov eax, 0x32
call fcn.00437efc
mov edx, eax
add edx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x48]
sub eax, 0x14
call fcn.00437efc
mov edx, eax
mov eax, 1
call fcn.00437fc0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
call fcn.00458434
jmp 0x8df294
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
mov eax, dword [eax + 0xac0]
cmp eax, 5
ja case.default.0x8df206
jmp dword [eax*4 + 0x8df20d]
mov ebx, 0x64
jmp 0x8df254
mov ebx, 0x7d
jmp 0x8df254
mov ebx, 0xa5
jmp 0x8df254
mov ebx, 0xcd
jmp 0x8df254
mov ebx, 0xf5
jmp 0x8df254
mov ebx, 0x131
jmp 0x8df254
mov ebx, 0x122
mov eax, dword [0x98a548]
mov edx, esi
mov eax, ebx
call fcn.00437fc0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x228]
mov eax, dword [eax + 0x48]
sub eax, 0x14
call fcn.00437efc
mov edx, eax
mov eax, 1
call fcn.00437fc0
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
call fcn.00458434
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov edx, dword [eax + 0x48]
inc edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
push eax
push 0x8e3a88
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0045f564
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
push eax
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x228]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x22c]
mov eax, dword [0x98a548]
mov eax, dword [eax]
call fcn.0079ca10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4dc]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x230]
xor edx, edx
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2e4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0x68]
jmp 0x8df49a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
mov dl, 1
call fcn.00458bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5e4]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c4]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x220]
add edx, dword [eax + 0x48]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x224]
call fcn.004583e8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
xor edx, edx
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x350]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x354]
call fcn.0045840c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 5
call fcn.0045818c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2e0]
mov dl, 1
call fcn.00458bcc
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7c4]
cmp byte [eax + 0x415], 0
je 0x8df4d1
mov eax, dword [0x98aad0]
mov eax, dword [eax]
call fcn.00478a0c
cmp eax, 2
jl 0x8df4d1
push 1
mov cl, 1
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00946800
jmp 0x8df4db
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.008fb94c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xef8]
test eax, eax
je 0x8df503
cmp byte [eax + 0x57], 0
je 0x8df503
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
jmp 0x8df516
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008fde90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8df599
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
call fcn.00619c14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
mov dword [eax + 0xfc], edx
mov dword [eax + 0xf8], fcn.009315d8
mov eax, dword [ebp - 4]
mov al, byte [eax + 0xf5a]
mov edx, dword [0x98a548]
mov edx, dword [edx]
mov edx, dword [edx + 0x7c4]
mov byte [edx + 0x2b4], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x514]
mov edx, dword [eax]
call dword [edx + 0xe8]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.008b1ba0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x8df670
xor edx, edx
push ebp
push 0x8df7c3
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x8df73d
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x690]
mov dword [eax + 0xc], 0x457
cmp dword [ebp - 0xc], 0
jne 0x8df6cb
mov dl, 1
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x694]
xor edx, edx
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x698]
xor edx, edx
call fcn.006bb550
jmp 0x8df721
cmp dword [ebp - 0xc], 1
jne 0x8df6fa
xor edx, edx
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x694]
mov dl, 1
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x698]
xor edx, edx
call fcn.006bb550
jmp 0x8df721
xor edx, edx
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x694]
xor edx, edx
call fcn.006bb550
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x698]
mov dl, 1
call fcn.006bb550
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x8df744
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x690]
xor edx, edx
mov dword [eax + 0xc], edx
ret