Function at 0xe8d140
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff2c
mov eax, 0x1069584
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
call fcn.00f4f878
cmp dword [ebp + 0xc], 0
je 0xe8d16a
push ebx
call fcn.00e8ebc8
pop ecx
test eax, eax
jne 0xe8d182
mov edx, dword [ebp + 0xc]
and byte [edx + 0x21], 0xfe
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
push ebx
call fcn.00e8e5a4
pop ecx
test eax, eax
jne 0xe8d1d6
push ebx
call fcn.00e8ebc8
pop ecx
push eax
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x274]
add esp, 8
mov eax, dword [ebx + 0xa8]
cmp dword [eax + 0x3c], 0
jne 0xe8d1c5
push 1
push ebx
call fcn.00e8ebc8
pop ecx
push eax
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x26c]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
push ebx
call fcn.00e8e5a4
pop ecx
mov esi, eax
mov dword [ebp - 0x58], esi
push ebx
call fcn.00e8e0b8
pop ecx
test al, al
je 0xe8d243
test byte [esi + 0x1a], 2
setne al
and eax, 1
test al, al
je 0xe8d243
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [edx + 0x20]
cmp ecx, 0x20
jne 0xe8d243
test byte [esi + 0x1a], 1
sete al
and eax, 1
push eax
push esi
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x26c]
add esp, 0xc
push 0
mov ecx, dword [ebx + 0xa8]
add ecx, 0x74
push ecx
call fcn.00da43e0
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
jmp 0xe8dfb4
push esi
push ebx
lea edx, [ebp - 0xc4]
push edx
call fcn.00e8e5c4
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xa8], ecx
mov byte [ebp - 0x59], 0
mov byte [ebp - 0x5a], 1
mov eax, dword [ebp + 0xc]
movzx edx, word [eax + 0x1c]
cmp edx, 0x1010
jg 0xe8d2e5
je 0xe8d410
cmp edx, 0x1000
jg 0xe8d2cf
je 0xe8d7ed
sub edx, 0x20
je 0xe8d7c5
sub edx, 0xb
je 0xe8d5eb
sub edx, 2
je 0xe8d6ed
jmp case.default.0xe8d2f4
sub edx, 0x1003
je 0xe8d317
dec edx
sub edx, 2
jb 0xe8d330
dec edx
je 0xe8d317
jmp case.default.0xe8d2f4
add edx, 0xffffefef
cmp edx, 6
ja case.default.0xe8d2f4
jmp dword [edx*4 + 0xe8d2fb]
push 0
mov ecx, dword [ebx + 0xa8]
add ecx, 0x74
push ecx
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
push 0
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
test esi, esi
je 0xe8d396
test byte [esi + 0x1a], 2
jne 0xe8d396
cmp dword [esi + 0x14], 0
jne 0xe8d370
test byte [esi + 0x1a], 8
setne dl
and edx, 1
test dl, dl
jne 0xe8d370
test byte [esi + 0x19], 0x80
setne cl
and ecx, 1
test cl, cl
je 0xe8d396
test byte [esi + 0x19], 0x80
sete al
and eax, 1
push eax
push esi
mov edx, dword [esi + 8]
call dword [edx + 0x30]
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
mov edx, dword [ebp + 0xc]
and byte [edx + 0x21], 0xfe
push ebx
call fcn.00e8e5a4
pop ecx
push eax
push ebx
call fcn.00f406b8
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
jmp 0xe8dfb4
mov byte [ebp - 0x5a], 0
push esi
call fcn.00e8bd84
pop ecx
push 0
mov edx, dword [ebx + 0xa8]
mov esi, eax
add edx, 0x74
push edx
call fcn.00da43e0
mov byte [ebp - 0x59], 1
add esp, 8
jmp 0xe8ded7
mov byte [ebp - 0x5a], 0
push esi
call fcn.00e8bd0c
pop ecx
push 0
mov ecx, dword [ebx + 0xa8]
mov esi, eax
add ecx, 0x74
push ecx
call fcn.00da43e0
mov byte [ebp - 0x59], 1
add esp, 8
jmp 0xe8ded7
mov byte [ebp - 0x5a], 0
push ebx
call fcn.00e8ebc8
pop ecx
push 0
mov esi, eax
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
mov byte [ebp - 0x5a], 0
push ebx
call fcn.00e8ebc8
pop ecx
mov esi, eax
jmp 0xe8d447
mov esi, eax
mov eax, dword [esi + 0x20]
test eax, eax
jne 0xe8d445
jmp 0xe8d459
push esi
call fcn.00e8bd84
pop ecx
mov esi, eax
push esi
call fcn.00e8bd84
pop ecx
test eax, eax
jne 0xe8d450
push 0
mov edx, dword [ebx + 0xa8]
add edx, 0x74
push edx
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
mov byte [ebp - 0x5a], 0
push ebx
call fcn.00ebee58
pop ecx
mov edi, eax
dec edi
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edi
lea edx, [ebp - 0x64]
push edx
push ebx
call fcn.00e8dfbc
add esp, 8
mov edi, eax
cmp esi, edi
je 0xe8d4e6
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xac]
jg 0xe8d4e6
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xa8]
jg 0xe8d4e6
push ebx
call fcn.00ebee58
pop ecx
push eax
push esi
push ebx
lea edx, [ebp - 0xd4]
push edx
call fcn.00e8e5c4
add esp, 0xc
mov ecx, dword [ebp - 0xc8]
pop eax
cmp eax, ecx
jg 0xe8d51f
test edi, edi
je 0xe8d4ec
mov esi, edi
push ebx
call fcn.00ebee58
pop ecx
mov dword [ebp - 0x68], eax
jmp 0xe8d504
push edi
call fcn.00e8be24
pop ecx
mov esi, edi
sub dword [ebp - 0x68], eax
push esi
call fcn.00e8bd84
pop ecx
mov edi, eax
test eax, eax
je 0xe8d538
push edi
call fcn.00e8be24
pop ecx
cmp eax, dword [ebp - 0x68]
jl 0xe8d4f8
jmp 0xe8d538
test edi, edi
jne 0xe8d536
jmp 0xe8d527
mov esi, edi
push esi
call fcn.00e8bd84
pop ecx
mov edi, eax
test eax, eax
jne 0xe8d525
jmp 0xe8d538
mov esi, edi
push 0
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
mov byte [ebp - 0x5a], 0
xor edx, edx
mov dword [ebp - 0x70], edx
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
lea eax, [ebp - 0x70]
push eax
push ebx
call fcn.00e8dfbc
add esp, 8
mov edi, eax
cmp edi, esi
je 0xe8d597
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0xac]
jg 0xe8d597
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xa8]
jg 0xe8d597
cmp dword [ebp - 0xb0], 0
jg 0xe8d5d0
test edi, edi
je 0xe8d59d
mov esi, edi
push ebx
call fcn.00ebee58
pop ecx
mov dword [ebp - 0x74], eax
jmp 0xe8d5b5
push edi
call fcn.00e8be24
pop ecx
mov esi, edi
sub dword [ebp - 0x74], eax
push esi
call fcn.00e8bd0c
pop ecx
mov edi, eax
test eax, eax
je 0xe8d5d2
push edi
call fcn.00e8be24
pop ecx
cmp eax, dword [ebp - 0x74]
jl 0xe8d5a9
jmp 0xe8d5d2
mov esi, edi
push 0
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
push 0
mov edx, dword [ebx + 0xa8]
add edx, 0x74
push edx
call fcn.00da43e0
add esp, 8
test byte [esi + 0x19], 0x80
jne 0xe8d62e
test byte [esi + 0x1a], 8
setne cl
and ecx, 1
test cl, cl
jne 0xe8d619
cmp dword [esi + 0x14], 0
je 0xe8d62e
push 1
push esi
push ebx
mov eax, dword [ebx + 8]
call dword [eax + 0x270]
add esp, 0xc
jmp 0xe8ded7
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
mov eax, edx
jmp 0xe8dfb4
push 0
mov ecx, dword [ebx + 0xa8]
add ecx, 0x74
push ecx
call fcn.00da43e0
add esp, 8
test byte [esi + 0x19], 0x80
setne al
and eax, 1
test al, al
je 0xe8d66f
cmp dword [esi + 0x24], 0
je 0xe8d66f
mov esi, dword [esi + 0x24]
jmp 0xe8ded7
test byte [esi + 0x19], 0x80
jne 0xe8d69e
test byte [esi + 0x1a], 8
setne dl
and edx, 1
test dl, dl
jne 0xe8d689
cmp dword [esi + 0x14], 0
je 0xe8d69e
push 1
push esi
push ebx
mov ecx, dword [ebx + 8]
call dword [ecx + 0x270]
add esp, 0xc
jmp 0xe8ded7
push ebx
call fcn.00ebea38
pop ecx
mov esi, eax
push ebx
call fcn.00ebee38
pop ecx
add esi, eax
push ebx
call fcn.00ebea68
pop ecx
cmp esi, eax
jge 0xe8d6dc
push ebx
call fcn.00ebe4f8
pop ecx
add eax, 0x80
push eax
call fcn.00eba0c8
pop ecx
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
jmp 0xe8dfb4
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
mov eax, edx
jmp 0xe8dfb4
push 0
mov ecx, dword [ebx + 0xa8]
add ecx, 0x74
push ecx
call fcn.00da43e0
add esp, 8
test byte [esi + 0x19], 0x80
setne al
and eax, 1
test al, al
je 0xe8d724
push 0
push esi
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x270]
add esp, 0xc
jmp 0xe8ded7
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
push 0
mov edx, dword [ebx + 0xa8]
add edx, 0x74
push edx
call fcn.00da43e0
add esp, 8
test byte [esi + 0x19], 0x80
setne al
and eax, 1
test al, al
je 0xe8d76c
push 0
push esi
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x270]
add esp, 0xc
jmp 0xe8ded7
mov eax, dword [esi + 0x1c]
test eax, eax
je 0xe8d785
mov edx, dword [ebx + 0xa8]
cmp eax, dword [edx + 8]
je 0xe8d785
mov esi, eax
jmp 0xe8ded7
push ebx
call fcn.00ebea38
pop ecx
test eax, eax
je 0xe8d7b4
push ebx
call fcn.00ebe4f8
pop ecx
add eax, 0x80
push eax
call fcn.00eba0f8
pop ecx
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
mov eax, edx
jmp 0xe8dfb4
mov byte [0x10a1dbc], 0
push esi
mov ecx, dword [esi + 8]
call dword [ecx + 0x58]
pop ecx
push 0
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
jmp 0xe8ded7
mov edx, dword [ebp + 0xc]
and byte [edx + 0x21], 0xfe
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0xe8dfb4
mov word [ebp - 0x44], 8
mov edx, dword [ebp + 0xc]
add edx, 0x18
push edx
lea eax, [ebp - 4]
push eax
call fcn.00da3ed4
add esp, 8
inc dword [ebp - 0x38]
lea edx, [ebp - 4]
inc dword [ebp - 0x38]
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0
jbe 0xe8d905
mov edx, dword [ebp + 0xc]
add edx, 0x18
push edx
lea ecx, [ebp - 8]
push ecx
call fcn.00da3ed4
inc dword [ebp - 0x38]
inc dword [ebp - 0x38]
lea eax, [ebp - 8]
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov edx, dword [ebp - 0x7c]
add esp, 8
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], ecx
mov edi, dword [ebp - 0x80]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx]
cmp edi, dword [ecx + 0xc]
jae 0xe8d893
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add edi, edi
add ecx, edi
jmp 0xe8d898
mov ecx, 0x10292c0
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
mov dl, byte [eax + 1]
mov byte [ebp - 0x8d], dl
mov eax, dword [ebp - 0x8c]
mov dl, byte [eax]
mov byte [ebp - 0x8e], dl
lea ecx, [ebp - 0x8e]
push ecx
call fcn.00da2100
pop ecx
test al, al
setne al
and eax, 1
push eax
dec dword [ebp - 0x38]
mov edx, dword [ebp - 8]
dec dword [edx]
sete cl
and ecx, 1
test cl, cl
je 0xe8d900
mov eax, dword [ebp - 8]
cmp eax, dword [0x10292b4]
jne 0xe8d8f6
xor edx, edx
mov dword [0x10292b4], edx
mov ecx, dword [ebp - 8]
push ecx
call fcn.00da4338
pop ecx
pop eax
test eax, eax
jne 0xe8d909
xor edx, edx
jmp 0xe8d90e
mov edx, 1
push edx
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 4]
dec dword [ecx]
sete al
and eax, 1
test al, al
je 0xe8d93e
mov edx, dword [ebp - 4]
cmp edx, dword [0x10292b4]
jne 0xe8d934
xor ecx, ecx
mov dword [0x10292b4], ecx
mov eax, dword [ebp - 4]
push eax
call fcn.00da4338
pop ecx
pop edx
test dl, dl
je 0xe8de73
mov byte [ebp - 0x5a], 0
mov word [ebp - 0x44], 0x2c
mov ecx, dword [ebx + 0xa8]
add ecx, 0x74
push ecx
lea eax, [ebp - 0xc]
push eax
call fcn.00da3ed4
add esp, 8
inc dword [ebp - 0x38]
mov word [ebp - 0x44], 0x38
mov edi, esi
lea eax, [ebp - 0x98]
push eax
call fcn.00d90644
pop ecx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x94], edx
test edi, edi
je 0xe8de36
mov word [ebp - 0x44], 0x44
mov ecx, dword [ebp + 0xc]
add ecx, 0x18
push ecx
lea eax, [ebp - 0x18]
push eax
call fcn.00da3ed4
add esp, 8
inc dword [ebp - 0x38]
lea edx, [ebp - 0x18]
push edx
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x1c]
push ecx
call fcn.00da6a40
add esp, 8
lea eax, [ebp - 0x1c]
lea edx, [ebp - 0xc]
lea ecx, [ebp - 0x20]
push eax
inc dword [ebp - 0x38]
push edx
push ecx
call fcn.00cfc550
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
inc dword [ebp - 0x38]
lea edx, [ebp - 0xc]
push edx
call fcn.00da4388
add esp, 8
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
dec dword [ecx]
sete al
and eax, 1
test al, al
je 0xe8da1b
mov edx, dword [ebp - 0x20]
cmp edx, dword [0x10292b4]
jne 0xe8da11
xor ecx, ecx
mov dword [0x10292b4], ecx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x38
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
dec dword [edx]
sete cl
and ecx, 1
test cl, cl
je 0xe8da50
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x10292b4]
jne 0xe8da46
xor edx, edx
mov dword [0x10292b4], edx
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.00da4338
pop ecx
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
dec dword [eax]
sete dl
and edx, 1
test dl, dl
je 0xe8da7e
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [0x10292b4]
jne 0xe8da74
xor eax, eax
mov dword [0x10292b4], eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x74
cmp dword [0x10292b4], 0
je 0xe8da95
mov ecx, dword [0x10292b4]
jmp 0xe8da9c
call fcn.00da3d94
mov ecx, eax
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
inc dword [eax]
inc dword [ebp - 0x38]
mov word [ebp - 0x44], 0x8c
mov word [ebp - 0x44], 0x98
cmp dword [0x10292b4], 0
je 0xe8dac4
mov edx, dword [0x10292b4]
jmp 0xe8dacb
call fcn.00da3d94
mov edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
inc dword [eax]
inc dword [ebp - 0x38]
mov word [ebp - 0x44], 0x8c
mov byte [ebp - 0x99], 1
test edi, edi
je 0xe8dd0d
mov word [ebp - 0x44], 0xb0
push 0
push edi
lea ecx, [ebp - 0x24]
push ecx
mov eax, dword [edi + 8]
call dword [eax + 0x1c]
add esp, 0xc
lea edx, [ebp - 0x24]
push edx
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
push ecx
call fcn.00da4388
add esp, 8
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x24]
dec dword [eax]
sete dl
and edx, 1
test dl, dl
je 0xe8db42
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [0x10292b4]
jne 0xe8db38
xor eax, eax
mov dword [0x10292b4], eax
mov edx, dword [ebp - 0x24]
push edx
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x8c
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
jmp 0xe8dbce
mov word [ebp - 0x44], 0xc8
mov eax, dword [ebp - 0xa0]
push eax
mov edx, dword [ebx + 0xa8]
mov ecx, dword [edx + 4]
push ecx
call fcn.00e6a920
add esp, 8
push eax
lea eax, [ebp - 0x28]
push edi
push eax
mov edx, dword [edi + 8]
call dword [edx + 0x1c]
add esp, 0xc
lea ecx, [ebp - 0x28]
push ecx
inc dword [ebp - 0x38]
lea eax, [ebp - 0x10]
push eax
call fcn.00da4388
add esp, 8
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
dec dword [edx]
sete cl
and ecx, 1
test cl, cl
je 0xe8dbc2
mov eax, dword [ebp - 0x28]
cmp eax, dword [0x10292b4]
jne 0xe8dbb8
xor edx, edx
mov dword [0x10292b4], edx
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x8c
inc dword [ebp - 0xa0]
mov eax, dword [ebx + 0xa8]
mov edx, dword [eax + 4]
push edx
call fcn.00e679cc
pop ecx
cmp eax, dword [ebp - 0xa0]
jle 0xe8dbfb
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 4], 0
sete al
and eax, 1
test al, al
jne 0xe8db52
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0xc], 0
je 0xe8dcdb
lea ecx, [ebp - 0x10]
push ecx
lea eax, [ebp - 0x14]
push eax
call fcn.00da4388
add esp, 8
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0xc]
push ecx
lea eax, [ebp - 0x14]
push eax
call fcn.00da43e0
add esp, 8
mov word [ebp - 0x44], 0xe0
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00da6a40
add esp, 8
lea eax, [ebp - 0x2c]
push eax
inc dword [ebp - 0x38]
lea edx, [ebp - 0x14]
push edx
call fcn.00da4388
add esp, 8
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
dec dword [ecx]
sete al
and eax, 1
test al, al
je 0xe8dc83
mov edx, dword [ebp - 0x2c]
cmp edx, dword [0x10292b4]
jne 0xe8dc79
xor ecx, ecx
mov dword [0x10292b4], ecx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x8c
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 0x14]
push ecx
call fcn.00da8844
add esp, 8
test al, al
je 0xe8dcdb
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebx + 0xa8]
add edx, 0x74
push edx
call fcn.00da4388
mov ecx, dword [ebx + 0xa8]
add esp, 8
mov eax, dword [ebp - 0x94]
mov esi, edi
mov dword [ecx + 0x78], eax
lea eax, [ebp - 0xc]
push 0
push eax
xor edi, edi
call fcn.00da43e0
mov byte [ebp - 0x99], 0
add esp, 8
test edi, edi
je 0xe8dce8
push edi
call fcn.00e8bd84
pop ecx
mov edi, eax
test edi, edi
jne 0xe8dd05
cmp byte [ebp - 0x99], 0
je 0xe8dd05
push ebx
call fcn.00e8ebc8
pop ecx
mov edi, eax
mov byte [ebp - 0x99], 0
test edi, edi
jne 0xe8daeb
mov word [ebp - 0x44], 0xf8
mov eax, dword [ebp + 0xc]
add eax, 0x18
push eax
lea edx, [ebp - 0x30]
push edx
call fcn.00da3ed4
inc dword [ebp - 0x38]
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xa4], ecx
add esp, 8
mov eax, dword [ebp - 0xa4]
mov edx, dword [eax]
mov eax, dword [ebp - 0xc]
mov ecx, dword [edx + 0xc]
cmp ecx, dword [eax + 0xc]
setb dl
and edx, 1
test edx, edx
jle 0xe8dd70
lea ecx, [ebp - 0x94]
push ecx
mov eax, dword [ebx + 0xa8]
add eax, 0x78
push eax
call fcn.00d90630
add esp, 8
cmp eax, 0x5dc
jg 0xe8dd74
xor edx, edx
jmp 0xe8dd79
mov edx, 1
push edx
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
dec dword [ecx]
sete al
and eax, 1
test al, al
je 0xe8dda9
mov edx, dword [ebp - 0x30]
cmp edx, dword [0x10292b4]
jne 0xe8dd9f
xor ecx, ecx
mov dword [0x10292b4], ecx
mov eax, dword [ebp - 0x30]
push eax
call fcn.00da4338
pop ecx
pop edx
test dl, dl
je 0xe8ddc5
push 0
lea ecx, [ebp - 0xc]
push ecx
call fcn.00da43e0
add esp, 8
mov eax, dword [ebx + 0xa8]
mov edi, dword [eax + 8]
dec dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
dec dword [eax]
sete dl
and edx, 1
test dl, dl
je 0xe8ddf3
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [0x10292b4]
jne 0xe8dde9
xor eax, eax
mov dword [0x10292b4], eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x8c
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
dec dword [ecx]
sete al
and eax, 1
test al, al
je 0xe8de28
mov edx, dword [ebp - 0x10]
cmp edx, dword [0x10292b4]
jne 0xe8de1e
xor ecx, ecx
mov dword [0x10292b4], ecx
mov eax, dword [ebp - 0x10]
push eax
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x38
test edi, edi
jne 0xe8d993
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0xc]
dec dword [edx]
sete cl
and ecx, 1
test cl, cl
je 0xe8de65
mov eax, dword [ebp - 0xc]
cmp eax, dword [0x10292b4]
jne 0xe8de5b
xor edx, edx
mov dword [0x10292b4], edx
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00da4338
pop ecx
mov word [ebp - 0x44], 0x38
mov word [ebp - 0x44], 0
jmp 0xe8ded7
push 0
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da43e0
add esp, 8
mov edx, dword [ebp + 0xc]
movzx ecx, word [edx + 0x1e]
test cl, 0x10
je 0xe8dec1
push 0x10292b8
mov eax, dword [ebx + 0xa8]
add eax, 0x74
push eax
call fcn.00da4388
add esp, 8
mov edx, dword [ebp + 0xc]
movzx ecx, word [edx + 0x1c]
sub ecx, 0x41
jne 0xe8dec1
push 1
push ebx
call fcn.00e8e22c
add esp, 8
mov eax, dword [ebp + 0xc]
and byte [eax + 0x21], 0xfe
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0xe8dfb4
test esi, esi
jne 0xe8deea
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
jmp 0xe8dfb4
mov eax, dword [ebp + 0xc]
movzx edx, word [eax + 0x1e]
test dl, 8
je 0xe8df05
mov ecx, dword [ebx + 0xa8]
cmp dword [ecx + 0x88], 0
jne 0xe8df11
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x88], esi
push esi
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x274]
add esp, 8
test byte [esi + 0x1a], 2
setne cl
and ecx, 1
test cl, cl
je 0xe8df53
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0x1e]
test al, 0x10
setne dl
and edx, 1
test al, 8
setne cl
and ecx, 1
push edx
push ecx
mov eax, dword [ebp - 0x58]
push eax
push ebx
call fcn.00e90c74
add esp, 0x10
mov edx, dword [ebx + 0xa8]
mov eax, dword [edx + 0x14]
test eax, eax
je 0xe8df82
test byte [eax + 0x1a], 1
jne 0xe8df82
cmp dword [edx + 0x3c], 0
jne 0xe8df82
cmp byte [ebp - 0x5a], 0
je 0xe8df82
push 1
push eax
push ebx
mov edx, dword [ebx + 8]
call dword [edx + 0x26c]
add esp, 0xc
cmp byte [ebp - 0x59], 0
je 0xe8dfa0
push 1
push 1
mov ecx, dword [ebx + 0xa8]
mov eax, dword [ecx + 0x24]
push eax
call fcn.00e424dc
add esp, 0xc
jmp 0xe8dfaa
push esi
push ebx
call fcn.00e904a4
add esp, 8
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret