Function at 0x74ba7a90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcb4
mov eax, dword [0x74ccd724]
xor eax, esp
mov dword [esp + 0xcb0], eax
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
mov esi, dword [ebp + 8]
mov edx, 0x400
push edi
mov edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x20]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
cmp dword [0x74ccdac8], edi
je 0x74ba7b41
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, edx
and eax, 0x40000000
or ecx, eax
je 0x74ba7b41
mov eax, dword [0x74ccdad8]
mov esi, dword [0x74ccdadc]
and eax, edx
mov edx, esi
and edx, 0x40000000
cmp dword [0x74ccdad8], eax
jne 0x74ba7b3d
cmp esi, edx
jne 0x74ba7b3d
push 4
lea eax, [esp + 0x14]
push eax
push 4
lea eax, [esp + 0x20]
push eax
push 0x4e
push 0x74b8af78
push 3
push 0x74b88480
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x24
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [esi + 4], eax
je 0x74ba7b52
lea eax, [esi + 8]
push eax
call dword [0x74cce108]
lea ecx, [esp + 0x20]
call fcn.74bbd2bb
test ebx, ebx
jne 0x74ba7c79
xor ecx, ecx
mov esi, 0x80004003
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
cmp dword [0x74ccdac8], ecx
je 0x74ba7c22
mov ecx, dword [0x74ccdad0]
mov edi, 0x800
mov eax, dword [0x74ccdad4]
mov ebx, 0x40000000
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x38]
call fcn.74b99ab6
lea ecx, [esp + 0x38]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba7bd6
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x3c]
push eax
push 0x4e
push 0x74b8af78
push 4
lea eax, [esp + 0x28]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x34]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
xor edx, edx
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], edx
je 0x74ba7c37
lea eax, [ecx + 8]
push eax
call dword [0x74cce104]
lea ecx, [esp + 0x20]
call fcn.74bbd29e
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x74ba7c52
xor edx, edx
mov ecx, eax
inc edx
call fcn.74bb30dc
test edi, edi
je 0x74ba7c60
xor edx, edx
mov ecx, edi
inc edx
call fcn.74bb30dc
mov ecx, dword [esp + 0xcbc]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.74b98d40
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x74ba7d1a
mov esi, 0x80300002
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
cmp dword [0x74ccdac8], ecx
je 0x74ba7c22
mov ecx, dword [0x74ccdad0]
mov edi, 0x800
mov eax, dword [0x74ccdad4]
mov ebx, 0x40000000
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xb8]
call fcn.74b99ab6
lea ecx, [esp + 0xb8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba7cf7
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xbc]
jmp 0x74ba7bf1
mov eax, dword [ecx]
lea edx, [esp + 0x30]
push edx
push ecx
mov esi, dword [eax + 0x78]
mov ecx, esi
call dword [0x74cce4a8]
call esi
mov esi, eax
test esi, esi
jns 0x74ba7dd0
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7c22
mov ecx, dword [0x74ccdad0]
mov edi, 0x800
mov eax, dword [0x74ccdad4]
mov ebx, 0x40000000
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x138]
call fcn.74b99ab6
lea ecx, [esp + 0x138]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba7dad
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x13c]
jmp 0x74ba7bf1
push ecx
push 0x74b88558
xor edx, edx
xor esi, esi
mov edi, 0x800
inc edx
push esi
mov ecx, edi
call fcn.74bad518
xor edx, edx
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x74ba7e8d
mov ecx, 0x8007000e
mov dword [esp + 0x14], edx
mov esi, ecx
mov dword [esp + 0x10], ecx
cmp dword [0x74ccdac8], edx
je 0x74ba8dc7
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba8dc7
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x1b8]
call fcn.74b99ab6
lea ecx, [esp + 0x1b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba7e6a
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x1bc]
jmp 0x74ba7bf1
push ecx
push 0x74b88558
push esi
inc edx
mov ecx, edi
call fcn.74bad518
mov dword [esp + 0xc], eax
test eax, eax
jne 0x74ba7f6e
xor edx, edx
mov ecx, 0x8007000e
mov esi, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
cmp dword [0x74ccdac8], edx
je 0x74ba8dbe
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba8dbe
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x238]
call fcn.74b99ab6
lea ecx, [esp + 0x238]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba7f16
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x23c]
push eax
push 0x4e
push 0x74b8af78
push 4
lea eax, [esp + 0x28]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x34]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
mov edi, dword [esp + 0xc]
jmp 0x74ba7c22
xor eax, eax
lea ecx, [esp + 0x20]
cmp ax, word [ebp + 0xc]
je 0x74ba8033
call fcn.74bbd29e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x48]
mov ecx, esi
call dword [0x74cce4a8]
call esi
mov esi, eax
test esi, esi
jns 0x74ba80f0
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x2b8]
call fcn.74b99ab6
lea ecx, [esp + 0x2b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8010
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x2bc]
jmp 0x74ba7f34
call fcn.74bbd29e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
mov eax, dword [ecx + 0x28]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x54]
mov ecx, esi
call dword [0x74cce4a8]
call esi
mov esi, eax
test esi, esi
jns 0x74ba80f0
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x338]
call fcn.74b99ab6
lea ecx, [esp + 0x338]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba80cd
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x33c]
jmp 0x74ba7f34
push 8
pop eax
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x74ba8d27
xor ecx, ecx
cmp cx, word [eax]
je 0x74ba8d27
mov ecx, dword [esp + 0xc]
mov edx, 0x400
push eax
call fcn.74bc0f96
mov esi, eax
test esi, esi
jns 0x74ba81ba
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x3b8]
call fcn.74b99ab6
lea ecx, [esp + 0x3b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8197
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x3bc]
jmp 0x74ba7f34
push ecx
mov ecx, dword [esp + 0x10]
call fcn.74bb6cb7
mov esi, eax
test esi, esi
jns 0x74ba8260
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x438]
call fcn.74b99ab6
lea ecx, [esp + 0x438]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba823d
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x43c]
jmp 0x74ba7f34
mov eax, dword [esp + 0x18]
test byte [eax + 0x30], 2
je 0x74ba849f
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0x400
push eax
push dword [esp + 0x20]
call dword [0x74cce138]
test eax, eax
jne 0x74ba8342
call dword [0x74cce254]
mov esi, eax
test esi, esi
je 0x74ba8342
jle 0x74ba82aa
movzx esi, si
or esi, 0x80070000
test esi, esi
jns 0x74ba8342
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x4b8]
call fcn.74b99ab6
lea ecx, [esp + 0x4b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba831f
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x4bc]
jmp 0x74ba7f34
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, 0x400
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba83f0
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x538]
call fcn.74b99ab6
lea ecx, [esp + 0x538]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba83cd
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x53c]
jmp 0x74ba7f34
mov ecx, dword [esp + 0xc]
mov edx, 0x400
push 0x74b8c824
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba849f
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x5b8]
call fcn.74b99ab6
lea ecx, [esp + 0x5b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba847c
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x5bc]
jmp 0x74ba7f34
lea ecx, [esp + 0x20]
call fcn.74bbd29e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x74cce4a8]
call esi
mov esi, eax
test esi, esi
jns 0x74ba855d
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x638]
call fcn.74b99ab6
lea ecx, [esp + 0x638]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba853a
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x63c]
jmp 0x74ba7f34
push 8
pop eax
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x74ba8627
xor ecx, ecx
cmp cx, word [eax]
je 0x74ba8627
mov ecx, dword [esp + 0xc]
mov edx, 0x400
push eax
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba8627
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x6b8]
call fcn.74b99ab6
lea ecx, [esp + 0x6b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8604
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x6bc]
jmp 0x74ba7f34
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x30], 1
je 0x74ba886e
lea ecx, [esp + 0x20]
call fcn.74bbd29e
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x74cce4a8]
call esi
mov esi, eax
test esi, esi
jns 0x74ba86f3
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x738]
call fcn.74b99ab6
lea ecx, [esp + 0x738]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba86d0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x73c]
jmp 0x74ba7f34
push 8
pop eax
mov word [esp + 0x20], ax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x74ba886a
xor ecx, ecx
cmp cx, word [eax]
je 0x74ba886a
push dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
call fcn.74bb23ac
mov esi, eax
test esi, esi
jns 0x74ba87bc
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x7b8]
call fcn.74b99ab6
lea ecx, [esp + 0x7b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8799
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x7bc]
jmp 0x74ba7f34
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, 0x400
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba886a
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x838]
call fcn.74b99ab6
lea ecx, [esp + 0x838]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8847
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x83c]
jmp 0x74ba7f34
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x30]
test ecx, 0xff00
je 0x74ba8927
push dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push ecx
call fcn.74bad6df
mov esi, eax
test esi, esi
jns 0x74ba8927
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x8b8]
call fcn.74b99ab6
lea ecx, [esp + 0x8b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8904
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x8bc]
jmp 0x74ba7f34
mov ecx, dword [esp + 0xc]
mov edx, 0x400
push 0x74b88564
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba89d6
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x938]
call fcn.74b99ab6
lea ecx, [esp + 0x938]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba89b3
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x93c]
jmp 0x74ba7f34
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x50], 0
jne 0x74ba8a7d
xor edx, edx
mov ecx, 0x8007000e
mov esi, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
cmp dword [0x74ccdac8], edx
je 0x74ba8dbe
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba8dbe
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0x9b8]
call fcn.74b99ab6
lea ecx, [esp + 0x9b8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8a5a
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x9bc]
jmp 0x74ba7f34
push dword [eax + 0x50]
mov ecx, dword [esp + 0x10]
mov edx, 0x400
call fcn.74bc0f5e
mov esi, eax
test esi, esi
jns 0x74ba8b2a
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xa38]
call fcn.74b99ab6
lea ecx, [esp + 0xa38]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8b07
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xa3c]
jmp 0x74ba7f34
mov eax, dword [esp + 0xc]
mov ecx, eax
push eax
call fcn.74bb2d33
mov esi, eax
test esi, esi
jns 0x74ba8bd2
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xab8]
call fcn.74b99ab6
lea ecx, [esp + 0xab8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8baf
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xabc]
jmp 0x74ba7f34
mov ecx, dword [esp + 0xc]
xor edx, edx
inc edx
call fcn.74bbcf15
mov esi, eax
test esi, esi
jns 0x74ba8c7a
xor ecx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xb38]
call fcn.74b99ab6
lea ecx, [esp + 0xb38]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8c57
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xb3c]
jmp 0x74ba7f34
push ecx
mov ecx, dword [esp + 0x10]
call fcn.74bad5e1
xor edx, edx
mov dword [ebx], eax
test eax, eax
jne 0x74ba8dbe
mov ecx, 0x8007000e
mov dword [esp + 0x14], edx
mov esi, ecx
mov dword [esp + 0x10], ecx
cmp dword [0x74ccdac8], edx
je 0x74ba8dbe
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba8dbe
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xbb8]
call fcn.74b99ab6
lea ecx, [esp + 0xbb8]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8d04
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xbbc]
jmp 0x74ba7f34
xor ecx, ecx
mov esi, 0x80004005
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
cmp dword [0x74ccdac8], ecx
je 0x74ba7f65
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74ba7f65
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74ba7f65
cmp edi, edx
jne 0x74ba7f65
lea ecx, [esp + 0xc38]
call fcn.74b99ab6
lea ecx, [esp + 0xc38]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74ba8d9b
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xc3c]
jmp 0x74ba7f34
mov edi, dword [esp + 0xc]
jmp 0x74ba7c24
mov edi, edx
jmp 0x74ba7c24