Function at 0x100defa0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xda8
mov eax, dword [0x101a8cb0]
xor eax, ebp
mov dword [ebp - 0x14], eax
cmp dword [ebp + 8], 0
je 0x100defc9
mov eax, dword [ebp + 8]
push eax
call fcn.1002d6f0
add esp, 4
test eax, eax
jne 0x100defd3
mov eax, 1
jmp 0x100e101f
cmp dword [ebp + 0xc], 0
je 0x100defe9
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1002d6f0
add esp, 4
test eax, eax
jne 0x100deff3
mov eax, 1
jmp 0x100e101f
mov edx, 0xf0
mov word [ebp - 0x8c8], dx
push 0x54
push 0
lea eax, [ebp - 0x70]
push eax
call fcn.1002a420
add esp, 0xc
push 0x3ea
push 0
lea ecx, [ebp - 0xcd8]
push ecx
call fcn.1002a420
add esp, 0xc
push 0xd4
push 0
lea edx, [ebp - 0x150]
push edx
call fcn.1002a420
add esp, 0xc
push 0x30a
push 0
lea eax, [ebp - 0x880]
push eax
call fcn.1002a420
add esp, 0xc
lea ecx, [ebp - 0xce0]
push ecx
call fcn.10009b30
add esp, 4
mov word [ebp - 0x74], ax
movzx edx, word [ebp - 0x74]
test edx, edx
je 0x100df075
mov ax, word [ebp - 0x74]
jmp 0x100e101f
mov eax, dword [ebp - 0xce0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.100dd340
add esp, 8
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x888], 0x100
mov edx, dword [ebp - 0x888]
shl edx, 2
push edx
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov dword [ebp - 0x8c0], eax
cmp dword [ebp - 0x8c0], 0
jne 0x100df0d9
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009d90
add esp, 4
mov eax, 0x66
jmp 0x100e101f
lea edx, [ebp - 0x70]
push edx
mov eax, dword [ebp - 0xce0]
push eax
lea ecx, [ebp - 0x8c8]
push ecx
lea edx, [ebp - 0xcd8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.100dd2c0
add esp, 0x14
mov word [ebp - 0x74], ax
movzx ecx, word [ebp - 0x74]
test ecx, ecx
je 0x100df122
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
mov dword [ebp - 0x88c], 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 2
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xcec], ecx
mov dword [ebp - 0xce8], edx
mov eax, dword [ebp - 0xcec]
or eax, dword [ebp - 0xce8]
je 0x100df209
lea ecx, [ebp - 0xc84]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x54
push edx
call fcn.10004e50
add esp, 8
test eax, eax
je 0x100df209
push 0x44
lea eax, [ebp - 0xc84]
push eax
lea ecx, [ebp - 0x864]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x10
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc318
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x54
push eax
push 0x10
push 0x10
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 4
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xcf4], eax
mov dword [ebp - 0xcf0], ecx
mov edx, dword [ebp - 0xcf4]
or edx, dword [ebp - 0xcf0]
je 0x100df2ec
lea eax, [ebp - 0xc40]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x98
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df2ec
push 0x44
lea edx, [ebp - 0xc40]
push edx
lea eax, [ebp - 0x820]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x20
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc31c
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x98
push ecx
push 0x20
push 0x10
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 8
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xcfc], ecx
mov dword [ebp - 0xcf8], edx
mov eax, dword [ebp - 0xcfc]
or eax, dword [ebp - 0xcf8]
je 0x100df3ce
lea ecx, [ebp - 0xbfc]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0xdc
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df3ce
push 0xe
lea eax, [ebp - 0xbfc]
push eax
lea ecx, [ebp - 0x7dc]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x40
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc320
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0xdc
push eax
push 0x30
push 0x10
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x10
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd04], eax
mov dword [ebp - 0xd00], ecx
mov edx, dword [ebp - 0xd04]
or edx, dword [ebp - 0xd00]
je 0x100df4b4
lea eax, [ebp - 0xbee]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0xea
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df4b4
push 0x14
lea edx, [ebp - 0xbee]
push edx
lea eax, [ebp - 0x7ce]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x80
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc324
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0xea
push ecx
push 0x40
push 0x10
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x20
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd0c], ecx
mov dword [ebp - 0xd08], edx
mov eax, dword [ebp - 0xd0c]
or eax, dword [ebp - 0xd08]
je 0x100df5d0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xfe]
add edx, 1
and edx, 0xfffffffe
mov eax, dword [ebp - 0xbda]
add eax, 1
and eax, 0xfffffffe
cmp edx, eax
jne 0x100df52a
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xfe]
push edx
mov eax, dword [ebp - 0xbd6]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x102]
push edx
call fcn.100344b0
add esp, 0xc
test eax, eax
je 0x100df5d0
push 0xc
lea eax, [ebp - 0xbda]
push eax
lea ecx, [ebp - 0x7ba]
push ecx
call fcn.10031ea0
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x100
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc328
push 0x20
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xfe]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x102]
push eax
push 0x1000
push 0x10
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.10079660
add esp, 0x20
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x1000000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd14], eax
mov dword [ebp - 0xd10], ecx
mov edx, dword [ebp - 0xd14]
or edx, dword [ebp - 0xd10]
je 0x100df6bb
lea eax, [ebp - 0xafe]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x1da
push ecx
call fcn.10004e50
add esp, 8
test eax, eax
je 0x100df6bb
push 0x44
lea edx, [ebp - 0xafe]
push edx
lea eax, [ebp - 0x7ae]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x2000000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc32c
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x1da
push ecx
push 0x90
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x40
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd1c], ecx
mov dword [ebp - 0xd18], edx
mov eax, dword [ebp - 0xd1c]
or eax, dword [ebp - 0xd18]
je 0x100df7a0
lea ecx, [ebp - 0xbce]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x10a
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df7a0
push 0x14
lea eax, [ebp - 0xbce]
push eax
lea ecx, [ebp - 0x76a]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x200
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc330
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x10a
push eax
push 0x50
push 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x10000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd24], eax
mov dword [ebp - 0xd20], ecx
mov edx, dword [ebp - 0xd24]
or edx, dword [ebp - 0xd20]
je 0x100df88b
lea eax, [ebp - 0x9aa]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x32e
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df88b
push 0x44
lea edx, [ebp - 0x9aa]
push edx
lea eax, [ebp - 0x756]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x1000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc334
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x32e
push ecx
push 0x1030
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x20000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd2c], ecx
mov dword [ebp - 0xd28], edx
mov eax, dword [ebp - 0xd2c]
or eax, dword [ebp - 0xd28]
je 0x100df973
lea ecx, [ebp - 0x966]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x372
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100df973
push 0xe
lea eax, [ebp - 0x966]
push eax
lea ecx, [ebp - 0x712]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x2000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc338
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x372
push eax
push 0x20
push 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x40000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd34], eax
mov dword [ebp - 0xd30], ecx
mov edx, dword [ebp - 0xd34]
or edx, dword [ebp - 0xd30]
je 0x100dfa5b
lea eax, [ebp - 0x958]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x380
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfa5b
push 0x14
lea edx, [ebp - 0x958]
push edx
lea eax, [ebp - 0x704]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x4000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc33c
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x380
push ecx
push 0x30
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x1000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd3c], ecx
mov dword [ebp - 0xd38], edx
mov eax, dword [ebp - 0xd3c]
or eax, dword [ebp - 0xd38]
je 0x100dfb43
lea ecx, [ebp - 0xaba]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x21e
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfb43
push 0x44
lea eax, [ebp - 0xaba]
push eax
lea ecx, [ebp - 0x6f0]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x20000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc340
push 0
mov eax, dword [ebp + 0x10]
add eax, 0x21e
push eax
push 0xd
push 0x20
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x2000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd44], eax
mov dword [ebp - 0xd40], ecx
mov edx, dword [ebp - 0xd44]
or edx, dword [ebp - 0xd40]
je 0x100dfc2b
lea eax, [ebp - 0xa76]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x262
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfc2b
push 0x44
lea edx, [ebp - 0xa76]
push edx
lea eax, [ebp - 0x6ac]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x40000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc344
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x262
push ecx
push 0xe
push 0x20
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x4000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd4c], ecx
mov dword [ebp - 0xd48], edx
mov eax, dword [ebp - 0xd4c]
or eax, dword [ebp - 0xd48]
je 0x100dfd13
lea ecx, [ebp - 0xa32]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x2a6
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfd13
push 0x44
lea eax, [ebp - 0xa32]
push eax
lea ecx, [ebp - 0x668]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x80000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc348
push 0
mov eax, dword [ebp + 0x10]
add eax, 0x2a6
push eax
push 0x16
push 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x8000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd54], eax
mov dword [ebp - 0xd50], ecx
mov edx, dword [ebp - 0xd54]
or edx, dword [ebp - 0xd50]
je 0x100dfdfb
lea eax, [ebp - 0x9ee]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x2ea
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfdfb
push 0x44
lea edx, [ebp - 0x9ee]
push edx
lea eax, [ebp - 0x624]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x100000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc34c
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x2ea
push ecx
push 0x18
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x80000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd5c], ecx
mov dword [ebp - 0xd58], edx
mov eax, dword [ebp - 0xd5c]
or eax, dword [ebp - 0xd58]
je 0x100dfee3
lea ecx, [ebp - 0x944]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x394
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dfee3
push 0x14
lea eax, [ebp - 0x944]
push eax
lea ecx, [ebp - 0x5e0]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x8000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc350
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x394
push eax
push 0x15
push 0x18
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x80
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd64], eax
mov dword [ebp - 0xd60], ecx
mov edx, dword [ebp - 0xd64]
or edx, dword [ebp - 0xd60]
je 0x100dffcb
lea eax, [ebp - 0xbba]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x11e
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100dffcb
push 0x14
lea edx, [ebp - 0xbba]
push edx
lea eax, [ebp - 0x5cc]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x10000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc354
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x11e
push ecx
push 0x60
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x200
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 0xd68], edx
mov eax, dword [ebp - 0xd6c]
or eax, dword [ebp - 0xd68]
je 0x100e00e7
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x176]
add edx, 1
and edx, 0xfffffffe
mov eax, dword [ebp - 0xb62]
add eax, 1
and eax, 0xfffffffe
cmp edx, eax
jne 0x100e0044
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x176]
push edx
mov eax, dword [ebp - 0xb5e]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x17a]
push edx
call fcn.100344b0
add esp, 0xc
test eax, eax
je 0x100e00e7
push 0xc
lea eax, [ebp - 0xb62]
push eax
lea ecx, [ebp - 0x870]
push ecx
call fcn.10031ea0
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 4
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc358
push 0x20
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x176]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x17a]
push eax
push 0x1070
push 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.10079660
add esp, 0x20
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x100000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd74], eax
mov dword [ebp - 0xd70], ecx
mov edx, dword [ebp - 0xd74]
or edx, dword [ebp - 0xd70]
je 0x100e01cf
lea eax, [ebp - 0x930]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x3a8
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100e01cf
push 0x10
lea edx, [ebp - 0x930]
push edx
lea eax, [ebp - 0x5b8]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x200000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc35c
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x3a8
push ecx
push 0x11
push 0x20
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x200000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd7c], ecx
mov dword [ebp - 0xd78], edx
mov eax, dword [ebp - 0xd7c]
or eax, dword [ebp - 0xd78]
je 0x100e02b7
lea ecx, [ebp - 0x920]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x3b8
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100e02b7
push 0x10
lea eax, [ebp - 0x920]
push eax
lea ecx, [ebp - 0x5a8]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x400000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc360
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x3b8
push eax
push 0x13
push 0x20
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x400000
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd84], eax
mov dword [ebp - 0xd80], ecx
mov edx, dword [ebp - 0xd84]
or edx, dword [ebp - 0xd80]
je 0x100e039f
lea eax, [ebp - 0x910]
push eax
mov ecx, dword [ebp + 0x10]
add ecx, 0x3c8
push ecx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100e039f
push 0xe
lea edx, [ebp - 0x910]
push edx
lea eax, [ebp - 0x598]
push eax
call fcn.10003d40
add esp, 0xc
mov ecx, dword [ebp - 0x880]
or ecx, 0x800000
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], ecx
mov dword [ebp - 0x87c], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc364
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x3c8
push ecx
push 0x21
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x800000
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd8c], ecx
mov dword [ebp - 0xd88], edx
mov eax, dword [ebp - 0xd8c]
or eax, dword [ebp - 0xd88]
je 0x100e0487
lea ecx, [ebp - 0x902]
push ecx
mov edx, dword [ebp + 0x10]
add edx, 0x3d6
push edx
call fcn.10004dd0
add esp, 8
test eax, eax
je 0x100e0487
push 0x14
lea eax, [ebp - 0x902]
push eax
lea ecx, [ebp - 0x58a]
push ecx
call fcn.10003d40
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, 0x1000000
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc368
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x3d6
push eax
push 0x31
push 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x400
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xd94], eax
mov dword [ebp - 0xd90], ecx
mov edx, dword [ebp - 0xd94]
or edx, dword [ebp - 0xd90]
je 0x100e051a
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc36c
push 0
mov ecx, dword [ebp + 0x10]
add ecx, 0x182
push ecx
push 0x140
push 0x88
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
and ecx, 0x800
mov edx, dword [eax + 4]
and edx, 0
mov dword [ebp - 0xd9c], ecx
mov dword [ebp - 0xd98], edx
mov eax, dword [ebp - 0xd9c]
or eax, dword [ebp - 0xd98]
je 0x100e05ad
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc370
push 0x20
mov eax, dword [ebp + 0x10]
add eax, 0x1c6
push eax
push 0x130
push 0x88
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
and eax, 0x100
mov ecx, dword [edx + 4]
and ecx, 0
mov dword [ebp - 0xda4], eax
mov dword [ebp - 0xda0], ecx
mov edx, dword [ebp - 0xda4]
or edx, dword [ebp - 0xda0]
je 0x100e063d
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc374
push 0x20
mov ecx, dword [ebp + 0x10]
add ecx, 0x132
push ecx
push 0x80
push 8
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
lea ecx, [eax + edx*4]
push ecx
call fcn.100795a0
add esp, 0x1c
mov edx, dword [ebp - 0x88c]
add edx, 1
mov dword [ebp - 0x88c], edx
cmp dword [ebp + 0x20], 0
jne 0x100e0a90
cmp dword [ebp - 0xc8c], 0
jne 0x100e066b
cmp dword [ebp - 0xc88], 0
jne 0x100e066b
mov eax, dword [ebp - 0x880]
or eax, dword [ebp - 0x87c]
je 0x100e0a90
push 0x3ea
push 0
lea ecx, [ebp - 0x550]
push ecx
call fcn.1002a420
add esp, 0xc
mov edx, dword [ebp - 0x880]
or edx, dword [ebp - 0x87c]
je 0x100e07e6
lea eax, [ebp - 0x8b0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebp - 0x150]
or ecx, 2
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
movzx eax, word [ebp - 0x8a4]
push eax
movzx ecx, word [ebp - 0x8a6]
push ecx
movzx edx, word [ebp - 0x8a8]
push edx
movzx eax, word [ebp - 0x8aa]
push eax
movzx ecx, word [ebp - 0x8ae]
push ecx
movzx edx, word [ebp - 0x8b0]
push edx
push str._.4d_.2d_.2d_.2d_.2d_.2d
lea eax, [ebp - 0xfc]
push eax
call fcn.10003cf0
add esp, 0x20
cmp dword [ebp + 0x14], 0
je 0x100e0735
mov ecx, dword [ebp - 0x150]
or ecx, 8
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
push 0x14
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x94]
push ecx
call fcn.10003d40
add esp, 0xc
cmp dword [ebp + 0x1c], 0
je 0x100e076b
mov edx, dword [ebp - 0x150]
or edx, 1
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x14c], eax
push 0x44
mov ecx, dword [ebp + 0x1c]
push ecx
lea edx, [ebp - 0x140]
push edx
call fcn.10003d40
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x100e07a1
mov eax, dword [ebp - 0x150]
or eax, 4
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], ecx
push 0x44
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0xd8]
push eax
call fcn.10003d40
add esp, 0xc
lea ecx, [ebp - 0x880]
mov dword [ebp - 0x80], ecx
lea edx, [ebp - 0x150]
mov dword [ebp - 0x500], edx
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0xc88]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0xc88], 0
je 0x100e07e4
mov ecx, dword [ebp - 0xc88]
lea edx, [ebp - 0x150]
mov dword [ecx + 8], edx
jmp 0x100e07f2
mov eax, dword [ebp - 0xc88]
mov dword [ebp - 0x500], eax
cmp dword [ebp - 0x500], 0
je 0x100e08fb
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xcdc], 0
lea ecx, [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0xce0]
push edx
lea eax, [ebp - 0xcdc]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.100dce40
add esp, 0x14
mov word [ebp - 0x74], ax
movzx eax, word [ebp - 0x74]
test eax, eax
je 0x100e0859
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
cmp dword [ebp - 0x70], 1
jne 0x100e0879
mov edx, dword [ebp - 0x10]
add edx, 8
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xcdc]
sub eax, 8
mov dword [ebp - 0xcdc], eax
jmp 0x100e0891
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xcdc]
sub edx, 0xc
mov dword [ebp - 0xcdc], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc394
push 0
mov ecx, dword [ebp - 0xcdc]
push ecx
mov edx, dword [ebp - 0x10]
push edx
push 0x561
push 0x400
mov eax, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
lea edx, [ecx + eax*4]
push edx
call fcn.10079660
add esp, 0x20
mov eax, dword [ebp - 0x88c]
add eax, 1
mov dword [ebp - 0x88c], eax
cmp dword [ebp - 0xc8c], 0
je 0x100e0a90
push 0x18
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov edx, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x8c0]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xce0]
push edx
push 0x101bc398
push 0x20
push str.PRIVATE_ORIGINAL_ATTRIBUTES
movzx eax, word [ebp - 0x8c8]
push eax
push 0x21
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.100795a0
add esp, 0x1c
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
push 0x3ea
push 0
lea edx, [ebp - 0x550]
push edx
call fcn.1002a420
add esp, 0xc
mov eax, dword [ebp - 0xc8c]
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xcdc], 0
lea ecx, [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0xce0]
push edx
lea eax, [ebp - 0xcdc]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x550]
push edx
call fcn.100dce40
add esp, 0x14
mov word [ebp - 0x74], ax
movzx eax, word [ebp - 0x74]
test eax, eax
je 0x100e09e8
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
cmp dword [ebp - 0x70], 1
jne 0x100e0a08
mov edx, dword [ebp - 0x10]
add edx, 8
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xcdc]
sub eax, 8
mov dword [ebp - 0xcdc], eax
jmp 0x100e0a20
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xcdc]
sub edx, 0xc
mov dword [ebp - 0xcdc], edx
push 0x18
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xce0]
push eax
push 0x101bc3b8
push 0
mov ecx, dword [ebp - 0xcdc]
push ecx
mov edx, dword [ebp - 0x10]
push edx
movzx eax, word [ebp - 0x8c8]
shl eax, 8
or eax, 1
push eax
push 0x21
mov ecx, dword [ebp - 0x88c]
mov edx, dword [ebp - 0x8c0]
lea eax, [edx + ecx*4]
push eax
call fcn.10079660
add esp, 0x20
mov ecx, dword [ebp - 0x88c]
add ecx, 1
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x8c0]
mov dword [eax + edx*4], 0
push 0x28
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009ed0
add esp, 8
mov dword [ebp - 0x8e4], eax
mov edx, dword [ebp - 0x8e4]
mov dword [edx], 0
push 0x28
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009ed0
add esp, 8
mov dword [ebp - 0x8a0], eax
cmp dword [ebp - 0x890], 0
je 0x100e0af4
mov ecx, dword [ebp - 0x8a0]
mov dword [ecx], 0
jmp 0x100e0b4a
push 0x18
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x8a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8a0]
mov eax, dword [edx]
mov ecx, 0x7fe0
mov word [eax], cx
mov edx, dword [ebp - 0x8a0]
mov eax, dword [edx]
mov ecx, 0x10
mov word [eax + 2], cx
mov edx, dword [ebp - 0x8a0]
mov eax, dword [edx]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x8a0]
mov dword [ecx + 4], 0
cmp dword [ebp + 0x20], 0
je 0x100e0ba6
push 0x18
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009ed0
add esp, 8
mov ecx, dword [ebp - 0x8e4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x8e4]
mov eax, dword [edx]
mov ecx, 0x400
mov word [eax], cx
mov edx, dword [ebp - 0x8e4]
mov eax, dword [edx]
mov ecx, 0x561
mov word [eax + 2], cx
mov edx, dword [ebp - 0x8e4]
mov eax, dword [edx]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x8e4]
mov dword [ecx + 4], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x8e0], eax
mov dword [ebp - 0x8dc], 0
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x894], 0
lea ecx, [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0x8e4]
push edx
mov eax, dword [ebp - 0x8a0]
push eax
mov ecx, dword [ebp - 0x8c0]
push ecx
lea edx, [ebp - 0x898]
push edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10080290
add esp, 0x1c
mov word [ebp - 0x74], ax
movzx edx, word [ebp - 0x74]
test edx, edx
je 0x100e0c2e
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
cmp dword [ebp - 0x890], 0
je 0x100e0c4d
mov ecx, dword [ebp - 0xce0]
push ecx
call fcn.10009d90
add esp, 4
xor eax, eax
jmp 0x100e101f
mov edx, 0x7fe0
mov word [ebp - 0x56c], dx
mov eax, 0x10
mov word [ebp - 0x56a], ax
mov ecx, dword [ebp - 0xce0]
push ecx
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x8c4]
push eax
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x8bc]
push edx
lea eax, [ebp - 0x56c]
push eax
push 0
lea ecx, [ebp - 0xc]
push ecx
call fcn.1007c3c0
add esp, 0x20
mov word [ebp - 0x74], ax
movzx edx, word [ebp - 0x74]
test edx, edx
je 0x100e0cc1
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
mov ecx, dword [ebp - 0x8bc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x554], edx
lea eax, [ebp - 0x60]
push eax
call fcn.1009f1d0
add esp, 4
test eax, eax
je 0x100e0cea
mov dword [ebp - 0x554], 0xffffffff
mov ecx, dword [ebp - 0xce0]
push ecx
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x8d4]
push eax
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x8bc]
push edx
lea eax, [ebp - 0x56c]
push eax
push 0
lea ecx, [ebp - 0x8e0]
push ecx
call fcn.1007c3c0
add esp, 0x20
mov word [ebp - 0x74], ax
movzx edx, word [ebp - 0x74]
test edx, edx
je 0x100e0d49
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov ax, word [ebp - 0x74]
jmp 0x100e101f
mov dword [ebp - 0x89c], 0xfa000
mov ecx, dword [ebp - 0x89c]
push ecx
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009ed0
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x100e0d8b
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov eax, 0x66
jmp 0x100e101f
push 0x101bc3bc
mov ecx, dword [ebp + 8]
push ecx
call fcn.10003c90
add esp, 8
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
jne 0x100e0dc4
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009d90
add esp, 4
mov eax, 0xc9
jmp 0x100e101f
push 2
push 0
mov eax, dword [ebp - 0x154]
push eax
call fcn.10033a60
add esp, 0xc
mov ecx, dword [ebp - 0x154]
push ecx
call fcn.10034f20
add esp, 4
sub eax, dword [ebp - 0x8c4]
mov dword [ebp - 0x8b8], eax
push 0
mov edx, dword [ebp - 0x8c4]
push edx
mov eax, dword [ebp - 0x154]
push eax
call fcn.10033a60
add esp, 0xc
push 0x101bc3c0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10003c90
add esp, 8
mov dword [ebp - 0x8cc], eax
cmp dword [ebp - 0x8cc], 0
jne 0x100e0e52
mov edx, dword [ebp - 0x154]
push edx
call fcn.1002ac50
add esp, 4
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov eax, 0xc9
jmp 0x100e101f
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x8b4], ecx
cmp dword [ebp - 0x884], 3
jne 0x100e0e7d
lea edx, [ebp - 0x8b4]
push edx
mov eax, dword [ebp - 0x8b4]
push eax
call fcn.10079040
add esp, 8
push 0
mov ecx, dword [ebp - 0x8d4]
sub ecx, 4
push ecx
mov edx, dword [ebp - 0x8cc]
push edx
call fcn.10033a60
add esp, 0xc
mov eax, dword [ebp - 0x8cc]
push eax
push 1
push 4
lea ecx, [ebp - 0x8b4]
push ecx
call fcn.10032210
add esp, 0x10
mov dword [ebp - 0xce4], 0
mov edx, dword [ebp - 0x8b8]
cmp edx, dword [ebp - 0xce4]
jbe 0x100e0ff0
mov eax, dword [ebp - 0x8b8]
sub eax, dword [ebp - 0xce4]
cmp eax, dword [ebp - 0x89c]
jae 0x100e0ef6
mov ecx, dword [ebp - 0x8b8]
sub ecx, dword [ebp - 0xce4]
mov dword [ebp - 0xda8], ecx
jmp 0x100e0f02
mov edx, dword [ebp - 0x89c]
mov dword [ebp - 0xda8], edx
mov eax, dword [ebp - 0xda8]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x154]
push ecx
mov edx, dword [ebp - 0x158]
push edx
push 1
mov eax, dword [ebp - 4]
push eax
call fcn.10032e00
add esp, 0x10
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x8d0]
cmp ecx, dword [ebp - 0x158]
je 0x100e0f75
mov edx, dword [ebp - 0xce0]
push edx
call fcn.10009d90
add esp, 4
mov eax, dword [ebp - 0x154]
push eax
call fcn.1002ac50
add esp, 4
mov ecx, dword [ebp - 0x8cc]
push ecx
call fcn.1002ac50
add esp, 4
mov eax, 0xca
jmp 0x100e101f
mov edx, dword [ebp - 0x8cc]
push edx
mov eax, dword [ebp - 0x158]
push eax
push 1
mov ecx, dword [ebp - 4]
push ecx
call fcn.10032210
add esp, 0x10
mov dword [ebp - 0x8d0], eax
mov edx, dword [ebp - 0x8d0]
cmp edx, dword [ebp - 0x158]
je 0x100e0fd9
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
mov ecx, dword [ebp - 0x154]
push ecx
call fcn.1002ac50
add esp, 4
mov edx, dword [ebp - 0x8cc]
push edx
call fcn.1002ac50
add esp, 4
mov eax, 0xcb
jmp 0x100e101f
mov eax, dword [ebp - 0xce4]
add eax, dword [ebp - 0x8d0]
mov dword [ebp - 0xce4], eax
jmp 0x100e0ebc
mov ecx, dword [ebp - 0x8cc]
push ecx
call fcn.1002ac50
add esp, 4
mov edx, dword [ebp - 0x154]
push edx
call fcn.1002ac50
add esp, 4
mov eax, dword [ebp - 0xce0]
push eax
call fcn.10009d90
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1002aab0
mov esp, ebp
pop ebp
ret