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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xabc
mov eax, dword [0x74ccd724]
xor eax, esp
mov dword [esp + 0xab8], eax
mov eax, dword [ebp + 0xc]
xor edx, edx
push ebx
push esi
push edi
push ecx
xor ebx, ebx
mov dword [esp + 0x3c], eax
push 0x74b88558
mov esi, ecx
mov dword [esp + 0x3c], ebx
mov edi, 0x800
mov dword [esp + 0x28], ebx
push ebx
inc edx
mov ecx, edi
call fcn.74bad518
mov dword [esp + 0x30], eax
test eax, eax
jne 0x74cb3408
mov eax, 0x8007000e
mov dword [esp + 0x24], ebx
mov esi, eax
mov dword [esp + 0x1c], eax
cmp dword [0x74ccdac8], ebx
je 0x74cb3fbc
mov ecx, dword [0x74ccdad0]
mov ebx, 0x40000000
mov eax, dword [0x74ccdad4]
and ecx, edi
and eax, ebx
or ecx, eax
je 0x74cb3fbc
mov eax, dword [0x74ccdad8]
and eax, edi
mov edi, dword [0x74ccdadc]
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb3fbc
cmp edi, edx
jne 0x74cb3fbc
lea ecx, [esp + 0x2c0]
call fcn.74b99ab6
lea ecx, [esp + 0x2c0]
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x74cb33b4
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x2c4]
push eax
push 0x23
push 0x74b9606c
push 4
lea eax, [esp + 0x38]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x40]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb3fbc
push ecx
push 0x74b88558
push ebx
xor edx, edx
push 0x18
inc edx
pop ecx
call fcn.74bad518
mov edi, eax
test edi, edi
jne 0x74cb34ed
mov edi, 0x8007000e
mov dword [esp + 0x24], ebx
mov ebx, 0x40000000
mov dword [esp + 0x1c], edi
cmp dword [0x74ccdac8], eax
je 0x74cb34e2
mov ecx, dword [0x74ccdad0]
mov esi, 0x800
mov eax, dword [0x74ccdad4]
and ecx, esi
and eax, ebx
or ecx, eax
je 0x74cb34e2
mov eax, dword [0x74ccdad8]
mov ecx, dword [0x74ccdadc]
and eax, esi
mov esi, ecx
and esi, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb34e2
cmp ecx, esi
jne 0x74cb34e2
lea ecx, [esp + 0x340]
call fcn.74b99ab6
lea ecx, [esp + 0x340]
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x74cb3493
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x344]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x38]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x40]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
mov esi, edi
mov dword [esp + 0x10], esi
jmp 0x74cb35e5
lea edx, [edi + 0xc]
mov ecx, esi
call fcn.74bb1d92
mov esi, eax
mov ebx, 0x40000000
mov dword [esp + 0x10], esi
test esi, esi
jns 0x74cb36aa
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
cmp dword [0x74ccdac8], eax
je 0x74cb35cb
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb35cb
mov eax, dword [0x74ccdad8]
mov ecx, dword [0x74ccdadc]
and eax, 0x800
mov ebx, ecx
and ebx, 0x40000000
cmp dword [0x74ccdad8], eax
jne 0x74cb35c6
cmp ecx, ebx
jne 0x74cb35c6
lea ecx, [esp + 0x3c0]
call fcn.74b99ab6
lea ecx, [esp + 0x3c0]
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x74cb3577
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x3c4]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x28]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x3c]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
mov ebx, 0x40000000
test esi, esi
jns 0x74cb36cb
xor edx, edx
mov ecx, edi
inc edx
call fcn.74bb30dc
test esi, esi
jns 0x74cb36cb
xor edi, edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
cmp dword [0x74ccdac8], edi
je 0x74cb3f5a
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3f5a
mov eax, dword [0x74ccdad8]
mov ecx, dword [0x74ccdadc]
and eax, 0x800
mov edi, ecx
and edi, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb3f58
cmp ecx, edi
jne 0x74cb3f58
lea ecx, [esp + 0x440]
call fcn.74b99ab6
lea ecx, [esp + 0x440]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3656
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x444]
push eax
push 0x23
push 0x74b9606c
lea eax, [esp + 0x34]
push 4
push eax
lea eax, [esp + 0x34]
push 1
push 0x74b88558
push 4
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb3f5a
mov eax, dword [esp + 0x30]
mov dword [edi + 4], eax
xor eax, eax
mov dword [edi + 8], 0x400
mov dword [edi], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [esp + 0x20], edi
jmp 0x74cb35cb
cmp esi, 1
je 0x74cb3f58
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x74cb3f58
test edi, edi
je 0x74cb370a
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x74cb36fc
xor edx, edx
inc edx
call fcn.74bb30dc
xor eax, eax
mov dword [edi + 0xc], eax
xor edx, edx
mov ecx, edi
inc edx
call fcn.74bb30dc
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov edi, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov dword [esp + 0x34], edi
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
push esi
cmp dword [edi + 0x14], ecx
je 0x74cb3752
mov ecx, eax
call fcn.74bc0f96
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x74cb3fd5
push dword [esp + 0x30]
call dword [0x74cce298]
xor eax, eax
mov esi, eax
mov dword [esp + 0x10], esi
jmp 0x74cb36d8
push 0x74b96090
push ecx
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x2c]
push ecx
push edx
push eax
call fcn.74cab9f5
mov esi, eax
add esp, 0x1c
mov dword [esp + 0x10], esi
test esi, esi
js 0x74cb42a6
mov eax, dword [edi + 8]
xor edx, edx
mov dword [esp + 0x10], eax
inc edx
mov eax, dword [edi + 4]
push ecx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0xc]
push 0x74b88558
mov dword [esp + 0x48], eax
xor eax, eax
push eax
push 0x18
pop ecx
call fcn.74bad518
mov esi, eax
test esi, esi
jne 0x74cb380f
mov edi, dword [0x74ccdad8]
xor edx, edx
cmp dword [0x74ccdac8], edx
mov esi, 0x8007000e
mov dword [esp + 0x2c], edx
mov edx, dword [0x74ccdadc]
mov dword [esp + 0x28], esi
je 0x74cb37fe
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb37fe
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb37fe
cmp edx, ecx
jne 0x74cb37fe
xor eax, eax
inc eax
jmp 0x74cb3800
xor eax, eax
test eax, eax
jne 0x74cb407a
mov eax, esi
jmp 0x74cb393b
lea edx, [esi + 0xc]
mov ecx, edi
call fcn.74bb1d92
mov edx, eax
mov dword [esp + 0x14], edx
test edx, edx
jns 0x74cb38e7
and dword [esp + 0x44], 0
cmp dword [0x74ccdac8], 0
mov edi, dword [0x74ccdad8]
mov dword [esp + 0x48], edx
mov edx, dword [0x74ccdadc]
je 0x74cb3874
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3874
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3874
cmp edx, ecx
jne 0x74cb3874
xor eax, eax
inc eax
jmp 0x74cb3876
xor eax, eax
test eax, eax
je 0x74cb3919
lea ecx, [esp + 0x4c0]
call fcn.74b99ab6
lea ecx, [esp + 0x4c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3896
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x4c4]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x58]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x6c]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb390d
mov eax, dword [esp + 0x18]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 1
mov dword [esp + 0x20], esi
mov edi, dword [0x74ccdad8]
mov edx, dword [0x74ccdadc]
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x74cb393b
xor edx, edx
mov ecx, esi
inc edx
call fcn.74bb30dc
mov edx, dword [0x74ccdadc]
mov edi, dword [0x74ccdad8]
mov eax, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x10], esi
test eax, eax
js 0x74cb40f3
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push 0x74b88934
mov edi, dword [edi + 0x10]
mov dword [esp + 0x44], edi
call fcn.74bc0f96
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
jns 0x74cb3a37
mov edi, dword [0x74ccdad8]
xor edx, edx
cmp dword [0x74ccdac8], edx
mov dword [esp + 0x4c], edx
mov edx, dword [0x74ccdadc]
mov dword [esp + 0x50], esi
je 0x74cb39c1
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb39c1
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb39c1
cmp edx, ecx
jne 0x74cb39c1
xor eax, eax
inc eax
jmp 0x74cb39c3
xor eax, eax
test eax, eax
je 0x74cb3f1c
lea ecx, [esp + 0x540]
call fcn.74b99ab6
lea ecx, [esp + 0x540]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb39e3
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x544]
push eax
push 0x15
push 0x74b88938
lea eax, [esp + 0x5c]
push 4
push eax
lea eax, [esp + 0x68]
push 1
push 0x74b88558
push 4
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb3f10
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x34]
call dword [0x74cce1b4]
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0x74cb3b26
call dword [0x74cce254]
cmp eax, 2
je 0x74cb3f10
call dword [0x74cce254]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x74cb3a7d
jle 0x74cb3a81
movzx esi, si
or esi, 0x80070000
mov dword [esp + 0x10], esi
mov edi, dword [0x74ccdad8]
xor edx, edx
cmp dword [0x74ccdac8], edx
mov dword [esp + 0x54], edx
mov edx, dword [0x74ccdadc]
mov dword [esp + 0x58], esi
je 0x74cb3ace
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3ace
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3ace
cmp edx, ecx
jne 0x74cb3ace
xor eax, eax
inc eax
jmp 0x74cb3ad0
xor eax, eax
test eax, eax
je 0x74cb3f1c
lea ecx, [esp + 0x5c0]
call fcn.74b99ab6
lea ecx, [esp + 0x5c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3af0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x5c4]
push eax
push 0x15
push 0x74b88938
lea eax, [esp + 0x64]
push 4
push eax
lea eax, [esp + 0x70]
jmp 0x74cb3a14
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov word [ecx], dx
test dword [esp + 0x70], 0x10
je 0x74cb3d7e
push 4
lea ecx, [esp + 0xa0]
mov eax, 0x74b88564
pop esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x74cb3b70
test dx, dx
je 0x74cb3b6c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x74cb3b70
add eax, esi
add ecx, esi
test dx, dx
jne 0x74cb3b4c
xor eax, eax
jmp 0x74cb3b75
sbb eax, eax
or eax, 1
test eax, eax
je 0x74cb3d7a
lea ecx, [esp + 0x9c]
mov eax, 0x74b8875c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x74cb3baf
test dx, dx
je 0x74cb3ba9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x74cb3baf
add eax, esi
add ecx, esi
test dx, dx
jne 0x74cb3b89
xor ecx, ecx
mov eax, ecx
jmp 0x74cb3bb6
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
je 0x74cb3d7a
push ecx
push 0x74b88558
push ecx
xor edx, edx
push 0x18
inc edx
pop ecx
call fcn.74bad518
mov esi, eax
test esi, esi
jne 0x74cb3c39
mov edi, dword [0x74ccdad8]
xor edx, edx
cmp dword [0x74ccdac8], edx
mov esi, 0x8007000e
mov dword [esp + 0x64], edx
mov edx, dword [0x74ccdadc]
mov dword [esp + 0x6c], esi
je 0x74cb3c28
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3c28
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3c28
cmp edx, ecx
jne 0x74cb3c28
xor eax, eax
inc eax
jmp 0x74cb3c2a
xor eax, eax
test eax, eax
jne 0x74cb3dc8
mov eax, esi
jmp 0x74cb3d68
lea edx, [esi + 0xc]
lea ecx, [esp + 0x9c]
call fcn.74bb1d92
mov dword [esp + 0x14], eax
test eax, eax
jns 0x74cb3d17
mov edx, dword [0x74ccdadc]
xor ecx, ecx
mov edi, dword [0x74ccdad8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
cmp dword [0x74ccdac8], ecx
je 0x74cb3ca1
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3ca1
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3ca1
cmp edx, ecx
jne 0x74cb3ca1
xor eax, eax
inc eax
jmp 0x74cb3ca3
xor eax, eax
test eax, eax
je 0x74cb3d46
lea ecx, [esp + 0x640]
call fcn.74b99ab6
lea ecx, [esp + 0x640]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3cc3
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x644]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x70]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x84]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb3d3a
mov eax, dword [esp + 0x1c]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esi], eax
lea eax, [edi + 1]
mov dword [esi + 0x10], eax
xor eax, eax
mov dword [esi + 0x14], eax
mov dword [esp + 0x20], esi
mov edi, dword [0x74ccdad8]
mov edx, dword [0x74ccdadc]
mov eax, dword [esp + 0x14]
test eax, eax
jns 0x74cb3d68
xor edx, edx
mov ecx, esi
inc edx
call fcn.74bb30dc
mov edx, dword [0x74ccdadc]
mov edi, dword [0x74ccdad8]
mov eax, dword [esp + 0x14]
mov esi, eax
mov dword [esp + 0x10], esi
test eax, eax
js 0x74cb3e44
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x70]
push ecx
push eax
call dword [0x74cce1b8]
test eax, eax
mov eax, dword [esp + 0x18]
jne 0x74cb3b2f
call dword [0x74cce254]
mov esi, eax
mov eax, dword [esp + 0x18]
test esi, esi
je 0x74cb3b2f
jle 0x74cb3db5
movzx esi, si
or esi, 0x80070000
mov eax, esi
test esi, esi
js 0x74cb3ef6
mov eax, dword [esp + 0x18]
jmp 0x74cb3b2f
lea ecx, [esp + 0x6c0]
call fcn.74b99ab6
lea ecx, [esp + 0x6c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3de0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x6c4]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x78]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x90]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
mov edx, dword [0x74ccdadc]
add esp, 0x34
mov edi, dword [0x74ccdad8]
mov eax, esi
mov dword [esp + 0x10], esi
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x68], ecx
cmp dword [0x74ccdac8], ecx
je 0x74cb3e87
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3e87
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3e87
cmp edx, ecx
jne 0x74cb3e87
xor eax, eax
inc eax
xor edi, edi
jmp 0x74cb3e8b
xor edi, edi
mov eax, edi
test eax, eax
je 0x74cb3f06
lea ecx, [esp + 0x740]
call fcn.74b99ab6
lea ecx, [esp + 0x740]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb3ea5
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x744]
push eax
push 0x15
push 0x74b88938
push 4
lea eax, [esp + 0x7c]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x60]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
add esp, 0x34
jmp 0x74cb3f06
sub esi, 0x80070012
neg esi
sbb esi, esi
and esi, eax
mov dword [esp + 0x10], esi
push dword [esp + 0x18]
call dword [0x74cce1bc]
mov edi, dword [0x74ccdad8]
mov edx, dword [0x74ccdadc]
test esi, esi
js 0x74cb421f
push dword [esp + 0x38]
mov edi, dword [esp + 0x38]
push ecx
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x28]
push dword [edi + 0x10]
call fcn.74cb21a4
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
js 0x74cb418d
cmp esi, 1
jne 0x74cb36d8
xor edi, edi
mov ecx, dword [esp + 0x30]
xor edx, edx
inc edx
call fcn.74bb30dc
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x74cb3f8a
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x74cb3f80
xor edx, edx
inc edx
call fcn.74bb30dc
mov dword [ebx + 0xc], edi
xor edx, edx
mov ecx, ebx
inc edx
call fcn.74bb30dc
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x74cb3fbc
xor esi, esi
mov edi, ebx
mov ebx, dword [ebx]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x74cb3faa
xor edx, edx
inc edx
call fcn.74bb30dc
mov dword [edi + 0xc], esi
xor edx, edx
mov ecx, edi
inc edx
call fcn.74bb30dc
test ebx, ebx
jne 0x74cb3f94
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xac4]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.74b98d40
mov esp, ebp
pop ebp
ret 0x10
xor edi, edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], edi
cmp dword [0x74ccdac8], edi
je 0x74cb3f5a
mov ecx, dword [0x74ccdad0]
mov edx, 0x800
mov eax, dword [0x74ccdad4]
and ecx, edx
and eax, ebx
or ecx, eax
je 0x74cb3f5a
mov eax, dword [0x74ccdad8]
mov edi, dword [0x74ccdadc]
and eax, edx
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb3f58
cmp edi, edx
jne 0x74cb3f58
lea ecx, [esp + 0x7c0]
call fcn.74b99ab6
lea ecx, [esp + 0x7c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb4044
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x7c4]
push eax
push 0x23
push 0x74b9606c
lea eax, [esp + 0x48]
push 4
push eax
lea eax, [esp + 0x54]
jmp 0x74cb3687
lea ecx, [esp + 0x840]
call fcn.74b99ab6
lea ecx, [esp + 0x840]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb4092
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x844]
push eax
push 0x18
push 0x74b88950
push 4
lea eax, [esp + 0x40]
push eax
push 1
push 0x74b88558
push 4
lea eax, [esp + 0x4c]
push eax
push 5
push 0x74b883a0
push 0x74ccdab8
call fcn.74b99be6
mov edx, dword [0x74ccdadc]
add esp, 0x34
mov edi, dword [0x74ccdad8]
mov eax, esi
mov dword [esp + 0x10], esi
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
cmp dword [0x74ccdac8], ecx
je 0x74cb3f58
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3f58
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3f58
cmp edx, ecx
jne 0x74cb3f58
lea ecx, [esp + 0x9c0]
call fcn.74b99ab6
lea ecx, [esp + 0x9c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb4157
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x9c4]
push eax
push 0x23
push 0x74b9606c
lea eax, [esp + 0x38]
push 4
push eax
lea eax, [esp + 0x44]
jmp 0x74cb3687
xor edi, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
cmp dword [0x74ccdac8], edi
je 0x74cb3f5a
mov ecx, dword [0x74ccdad0]
mov edx, 0x800
mov eax, dword [0x74ccdad4]
and ecx, edx
and eax, ebx
or ecx, eax
je 0x74cb3f5a
mov eax, dword [0x74ccdad8]
mov edi, dword [0x74ccdadc]
and eax, edx
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb3f58
cmp edi, edx
jne 0x74cb3f58
lea ecx, [esp + 0x8c0]
call fcn.74b99ab6
lea ecx, [esp + 0x8c0]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb41fc
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x8c4]
jmp 0x74cb4175
xor eax, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
cmp dword [0x74ccdac8], eax
je 0x74cb3f58
mov ecx, dword [0x74ccdad0]
mov eax, dword [0x74ccdad4]
and ecx, 0x800
and eax, ebx
or ecx, eax
je 0x74cb3f58
mov eax, edi
mov ecx, edx
and eax, 0x800
and ecx, ebx
cmp edi, eax
jne 0x74cb3f58
cmp edx, ecx
jne 0x74cb3f58
lea ecx, [esp + 0x940]
call fcn.74b99ab6
lea ecx, [esp + 0x940]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb4283
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x944]
jmp 0x74cb4175
xor edi, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
cmp dword [0x74ccdac8], edi
je 0x74cb3f5a
mov ecx, dword [0x74ccdad0]
mov edx, 0x800
mov eax, dword [0x74ccdad4]
and ecx, edx
and eax, ebx
or ecx, eax
je 0x74cb3f5a
mov eax, dword [0x74ccdad8]
mov edi, dword [0x74ccdadc]
and eax, edx
mov edx, edi
and edx, ebx
cmp dword [0x74ccdad8], eax
jne 0x74cb3f58
cmp edi, edx
jne 0x74cb3f58
lea ecx, [esp + 0xa40]
call fcn.74b99ab6
lea ecx, [esp + 0xa40]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x74cb4315
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xa44]
jmp 0x74cb4175