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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
push esi
mov esi, ecx
mov dword [esp + 0xc], edx
push edi
mov edi, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0xc], esi
mov eax, dword [esi + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esi]
mov byte [esp + 0x23], 0
mov dword [esp + 0x28], eax
movaps xmmword [esp + 0x60], xmm0
movq qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0
test edi, edi
je 0x4c2412
xor ecx, ecx
cmp dword [edi], 0x40
cmovge edi, ecx
mov dword [ebp + 0xc], edi
mov al, byte [eax + 0x4c]
mov ecx, dword [ebp + 0x14]
and al, 0x10
mov byte [esp + 0x3b], al
mov eax, ecx
and eax, 0xfeff
mov dword [esp + 0x68], edi
cmp byte [esp + 0x3b], 0
movzx edx, ax
movzx eax, cx
cmove edx, eax
movzx eax, dx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
cmp ecx, 0x40
jle 0x4c2463
push 0x40
push 0x63e37c
push esi
call fcn.0044ed00
add esp, 0xc
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test al, 0x20
mov eax, 1
push 0
cmovne ecx, eax
imul eax, ecx, 0x58
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
add eax, 0x2f7
and eax, 0xfffffff8
mov dword [esp + 0x38], eax
add eax, 0x48
push eax
call fcn.0044ba80
mov ecx, eax
add esp, 8
mov eax, dword [esp + 0x28]
mov dword [esp + 8], ecx
cmp byte [eax + 0x51], 0
je 0x4c24bf
test ecx, ecx
je 0x4c27fe
mov edx, ecx
mov ecx, eax
call fcn.0044b7f0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0xc]
xorps xmm0, xmm0
mov eax, dword [esp + 0x10]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx], esi
mov esi, dword [ebp + 8]
mov dword [ecx + 8], edi
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x18], 0xffffffff
mov dword [ecx + 0x14], 0xffffffff
mov byte [ecx + 0x2c], al
mov eax, dword [edx + 0x38]
dec eax
mov dword [edx + 0x38], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x24]
mov word [ecx + 0x28], ax
mov eax, dword [ebp + 0x18]
mov word [ecx + 0x2a], ax
mov eax, dword [edx + 0x88]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x1c]
movups xmmword [ecx + 0x2d], xmm0
add eax, 0x48
movups xmmword [ecx + 0x3d], xmm0
mov word [ecx + 0x4d], 0
push eax
mov byte [ecx + 0x4f], 0
add ecx, 0x2f0
push 0
push ecx
mov dword [esp + 0x60], ecx
call fcn.0059d550
mov edx, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [esp + 0x34]
add ecx, edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x6c], ecx
lea eax, [edx + 0x1e8]
mov dword [esp + 0x1c], eax
lea eax, [edx + 0x50]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
lea eax, [ecx + 0x38]
mov dword [ecx + 0x30], eax
xor eax, eax
mov word [ecx + 0x28], ax
mov eax, 3
mov word [ecx + 0x2c], ax
mov dword [ecx + 0x24], 0
lea ecx, [edx + 0x50]
mov dword [edx + 0x1ec], 0
lea eax, [ecx + 0x18]
mov dword [ecx], edx
mov edx, esi
push 0x2c
mov byte [ecx + 9], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 8
mov dword [ecx + 0x14], eax
call fcn.004bcc40
add esp, 4
cmp dword [esp + 0x2c], 0
jne 0x4c25ff
mov ecx, dword [esp + 8]
test edi, edi
je 0x4c25d8
mov al, byte [edi]
mov byte [ecx + 0x2d], al
test dword [esp + 0x24], 0x100
je 0x4c25e6
mov byte [ecx + 0x2f], 1
push str.total
push 0
push dword [esp + 0x14]
call fcn.0046afd0
mov eax, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4c2642
mov esi, dword [esp + 0x10]
xor edi, edi
add esi, 8
nop dword [eax + eax]
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 0x2c]
push dword [esp + 0x3c]
mov ecx, dword [edx + 4]
mov dword [edx + ecx*4 + 8], eax
inc dword [edx + 4]
mov edx, esi
mov ecx, dword [esp + 0x10]
call fcn.004bcf20
mov eax, dword [esp + 0x14]
inc edi
add esp, 4
add esi, 0x48
cmp edi, dword [eax]
jl 0x4c2610
mov edi, dword [ebp + 0xc]
mov esi, dword [esp + 0x3c]
mov esi, dword [esi + 0xc]
sub esi, 1
js 0x4c266b
mov edi, dword [esp + 0x3c]
push esi
mov edx, edi
mov ecx, eax
call fcn.004bc070
mov eax, dword [esp + 0x14]
add esp, 4
sub esi, 1
jns 0x4c2652
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x51], 0
jne 0x4c27e2
mov esi, dword [esp + 0x3c]
cmp dword [esi + 0xc], 0
jle 0x4c2744
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x18], ecx
nop
mov esi, dword [esi + 0x14]
add esi, ecx
test byte [esi + 0xa], 2
jne 0x4c272c
mov eax, dword [esi + 0x28]
or eax, dword [esi + 0x2c]
jne 0x4c272c
cmp dword [esp + 0x2c], eax
je 0x4c270c
mov edx, dword [esi]
xorps xmm0, xmm0
mov dword [esp + 0x98], eax
mov eax, 1
movaps xmmword [esp + 0x80], xmm0
movq qword [esp + 0x90], xmm0
mov word [esp + 0x94], ax
mov dword [esp + 0x84], 0x4c1790
mov dword [esp + 0x88], 0x481ab0
test edx, edx
je 0x4c270c
lea ecx, [esp + 0x80]
call fcn.0047daf0
cmp word [esp + 0x94], 0
je 0x4c2728
mov eax, dword [esp + 8]
push 0x10
push dword [eax + 0x20]
push dword [esi]
push dword [esp + 0x18]
call fcn.00487330
add esp, 0x10
or word [esi + 0xa], 4
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
inc edi
add ecx, 0x30
mov dword [esp + 0x18], ecx
cmp edi, dword [esi + 0xc]
jl 0x4c2690
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
and eax, 0x100
mov dword [esp + 0x58], eax
je 0x4c278a
push dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push esi
call fcn.004bd710
mov esi, dword [esp + 0x10]
add esp, 8
test eax, eax
je 0x4c2775
mov byte [esi + 0x2f], 1
jmp 0x4c278e
test edi, edi
jne 0x4c278e
mov edi, dword [ebp + 0x10]
mov eax, 0x80
or word [esi + 0x28], ax
mov dword [esi + 8], edi
jmp 0x4c2791
mov esi, dword [esp + 8]
mov edi, dword [ebp + 0x10]
cmp dword [esp + 0x2c], 1
jne 0x4c27a5
lea ecx, [esp + 0x60]
call fcn.004c21d0
test eax, eax
jne 0x4c2806
lea ecx, [esp + 0x60]
call fcn.004c0da0
test eax, eax
jne 0x4c27e2
xor edx, edx
mov ecx, esi
call fcn.004c18d0
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x51], 0
jne 0x4c27e2
cmp dword [esi + 8], 0
je 0x4c2810
movzx edx, word [esi + 0x34]
mov ecx, esi
inc dx
call fcn.004c18d0
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x51], 0
je 0x4c280a
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx + 0x24]
mov dword [edx + 0x88], eax
mov edx, ecx
mov ecx, dword [esp + 0x28]
call fcn.004be9f0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x28]
cmp dword [esi + 8], 0
jne 0x4c282b
mov eax, dword [ecx + 0x20]
and eax, 0x1000
or eax, 0
je 0x4c282b
mov dword [esi + 0x48], 0xffffffff
mov dword [esi + 0x4c], 0xffffffff
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x24], 0
jne 0x4c27e2
cmp byte [ecx + 0x51], 0
jne 0x4c27e2
cmp byte [esi + 0x2c], 2
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
jb 0x4c29f7
test edi, edi
je 0x4c29f7
mov eax, 0x100
test word [ecx + 0x4c], ax
jne 0x4c29f7
mov edx, edi
lea ecx, [esi + 0x1e8]
call fcn.004bce80
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x18], eax
test edx, edx
je 0x4c289c
lea ecx, [esi + 0x1e8]
call fcn.004bce80
or dword [esp + 0x18], eax
or dword [esp + 0x14], edx
movzx edi, byte [esi + 0x2c]
dec edi
mov dword [esp + 0x4c], edi
cmp edi, 1
jl 0x4c29f7
imul eax, edi, 0x58
add eax, 0x348
add eax, esi
mov dword [esp + 0x34], eax
nop dword [eax]
mov edx, dword [eax - 0x10]
mov dword [esp + 0x50], edx
movzx eax, byte [edx + 0x10]
lea ecx, [eax + eax*8]
mov eax, dword [esi + 4]
lea eax, [eax + ecx*8]
add eax, 8
mov dword [esp + 0x5c], eax
test byte [eax + 0x24], 8
je 0x4c29de
cmp word [esp + 0x58], 0
jne 0x4c28fa
test dword [edx + 0x24], 0x1000
je 0x4c29de
mov eax, dword [edx + 8]
mov ecx, eax
mov edx, dword [edx + 0xc]
and ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, edx
and eax, dword [esp + 0x14]
or ecx, eax
mov dword [esp + 0x48], edx
jne 0x4c29de
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x14]
mov esi, eax
mov ecx, dword [ecx + 0xc]
lea edi, [ecx + ecx*2]
shl edi, 4
add edi, eax
cmp esi, edi
jae 0x4c296c
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
and edx, dword [esp + 0x1c]
and ecx, dword [esp + 0x48]
or edx, ecx
je 0x4c295b
mov ecx, dword [esi]
test byte [ecx + 4], 1
je 0x4c2964
mov edx, dword [esp + 0x5c]
movsx ecx, word [ecx + 0x24]
cmp ecx, dword [edx + 0x2c]
jne 0x4c2964
add esi, 0x30
cmp esi, edi
jb 0x4c2934
jmp 0x4c2968
cmp esi, edi
jb 0x4c29d6
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
not edx
and dword [esp + 0x44], edx
not ecx
and dword [esp + 0x40], ecx
cmp eax, edi
jae 0x4c29a0
mov esi, dword [esp + 0x50]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x2c]
and edx, dword [esi + 8]
and ecx, dword [esi + 0xc]
or edx, ecx
je 0x4c2999
or word [eax + 0xa], 4
add eax, 0x30
cmp eax, edi
jb 0x4c2984
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x4c]
movzx ecx, byte [esi + 0x2c]
lea eax, [ecx - 1]
cmp edi, eax
je 0x4c29cd
sub ecx, edi
imul eax, ecx, 0x58
sub eax, 0x58
push eax
mov eax, dword [esp + 0x38]
push eax
add eax, 0xffffffa8
push eax
call fcn.0059c970
add esp, 0xc
dec byte [esi + 0x2c]
dec dword [esp + 0x2c]
jmp 0x4c29de
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
dec edi
sub eax, 0x58
mov dword [esp + 0x4c], edi
mov dword [esp + 0x34], eax
cmp edi, 1
jge 0x4c28c0
mov ecx, dword [esi]
movsx eax, word [esi + 0x34]
add dword [ecx + 0x88], eax
test byte [esp + 0x24], 4
je 0x4c2a73
mov eax, dword [esi + 0x338]
mov ecx, dword [eax + 0x24]
mov edx, ecx
shr edx, 0xc
and edx, 1
jne 0x4c2a3f
test byte [esp + 0x24], 8
je 0x4c2a73
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
cmp dword [eax + 0x38], edx
jne 0x4c2a73
test ecx, 0x2000
je 0x4c2a3f
test byte [esp + 0x24], 0x10
je 0x4c2a73
test edx, edx
mov edx, dword [esp + 0x10]
sete al
inc al
mov byte [esi + 0x2e], al
mov eax, dword [edx + 0x18]
test byte [eax + 0x24], 0x80
jne 0x4c2a77
test cl, 0x40
je 0x4c2a77
mov eax, dword [esi + 0x338]
and ecx, 0xffffffbf
mov dword [eax + 0x24], ecx
mov al, byte [esp + 0x24]
and al, 8
mov byte [esp + 0x23], al
jmp 0x4c2a77
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c2ce9
mov eax, dword [esp + 0x54]
add eax, 0x48
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], eax
movzx eax, byte [eax - 0x14]
mov edi, 0xffff8000
lea eax, [eax + eax*8]
lea edx, [edx + eax*8]
add edx, 8
mov dword [esp + 0x18], edx
mov esi, dword [edx + 0x10]
mov dword [esp + 0x54], esi
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x4c2ace
mov eax, dword [esp + 0x28]
xor edi, edi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4c2ace
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x4c2ac6
test byte [esi + 0x24], 2
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
jne 0x4c2c4e
cmp dword [esi + 0xc], 0
jne 0x4c2c4e
mov eax, dword [eax + 0x24]
test eax, 0x400
je 0x4c2b2c
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4c2b0c
mov ecx, dword [esp + 0x28]
cmp dword [eax], ecx
je 0x4c2b0c
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x4c2b01
mov ecx, dword [esp + 0x30]
push 0xfffffffffffffff4
push eax
push 0
push 0
push dword [edx + 0x2c]
mov edx, 0xa5
call fcn.0046aea0
add esp, 0x14
jmp 0x4c2c4a
cmp dword [esi + 0x38], 0
jne 0x4c2c4e
test al, 0x40
jne 0x4c2c35
test byte [esp + 0x24], 0x20
jne 0x4c2c35
mov edx, dword [esp + 8]
mov ecx, 0x60
cmp byte [edx + 0x2e], 0
je 0x4c2b67
mov eax, dword [esp + 0x18]
mov ecx, 0x61
mov eax, dword [eax + 0x2c]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x10]
push esi
mov edx, dword [eax + 0x2c]
push edi
call fcn.0049b7c0
mov eax, dword [esp + 0x14]
add esp, 0xc
cmp byte [eax + 0x2e], 0
jne 0x4c2c25
cmp word [esi + 0x2a], 0x40
jge 0x4c2c25
test byte [esi + 0x24], 0xe0
jne 0x4c2c25
mov eax, dword [esp + 0x18]
xor esi, esi
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0x3c]
mov eax, edx
or eax, ecx
je 0x4c2bbf
shrd edx, ecx, 1
inc esi
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x4c2bb2
mov edx, dword [esp + 0x30]
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
je 0x4c2be9
push esi
mov edx, 0xfffffffd
call fcn.0046b690
movzx edx, byte [esp + 0x27]
add esp, 4
mov ecx, dword [esp + 0x30]
call fcn.0046b500
jmp 0x4c2c4a
mov eax, dword [edx + 0x6c]
dec eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x4c2c1e
mov ecx, dword [esp + 0x30]
mov edx, eax
push 0xfffffffffffffffd
push esi
call fcn.0046b850
movzx edx, byte [esp + 0x2b]
add esp, 8
mov ecx, dword [esp + 0x30]
call fcn.0046b500
jmp 0x4c2c4a
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0xfd
movzx edx, byte [esp + 0x23]
mov ecx, dword [esp + 0x30]
call fcn.0046b500
jmp 0x4c2c4a
push dword [esi]
mov ecx, dword [esp + 0x10]
mov edx, edi
push 0
push dword [esi + 0x1c]
call fcn.0048d320
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test dword [edx + 0x24], 0x200
je 0x4c2c93
mov eax, dword [esp + 0x54]
mov esi, dword [edx + 0x20]
mov edx, 0x60
mov dword [esp + 0x50], esi
test byte [eax + 0x24], 0x80
je 0x4c2dd4
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
jne 0x4c2dd4
test byte [esp + 0x24], 0x20
je 0x4c2dd4
mov eax, dword [ecx - 0x44]
mov dword [ecx - 0x40], eax
mov esi, dword [esp + 0xc]
test edi, edi
js 0x4c2cc7
mov eax, dword [esi + 0x74]
mov edx, esi
test eax, eax
mov ecx, edi
cmovne edx, eax
mov eax, 1
shl eax, cl
mov esi, dword [edx + 0x54]
test esi, eax
jne 0x4c2cc7
bts esi, edi
mov dword [edx + 0x54], esi
cmp edi, 1
jne 0x4c2cc7
mov ecx, edx
call fcn.00493580
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add eax, 0x58
sub dword [esp + 0x34], 1
mov dword [esp + 0x14], eax
jne 0x4c2a92
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x6c]
mov dword [esi + 0x38], eax
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x51], 0
jne 0x4c27e2
mov dword [esp + 0x1c], 0
test ecx, ecx
jle 0x4c2dcc
lea edi, [esi + 0x324]
nop word [eax + eax]
mov eax, dword [edi + 0x14]
test dword [eax + 0x24], 0x4000
je 0x4c2d67
mov ecx, dword [esp + 0x10]
lea eax, [edi - 0x34]
mov edx, dword [esp + 0x3c]
push eax
movzx eax, byte [edi]
push dword [esp + 0x48]
push dword [esp + 0x48]
lea eax, [eax + eax*8]
lea eax, [eax + 1]
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x18]
push eax
call fcn.004bd940
mov eax, dword [esp + 0x38]
add esp, 0x10
cmp byte [eax + 0x51], 0
jne 0x4c27e2
push dword [esp + 0x24]
mov edx, dword [esp + 0x14]
lea esi, [edi - 0x34]
mov ecx, dword [esp + 0x10]
push esi
call fcn.004b7710
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
mov edx, ecx
push dword [esp + 0x4c]
push esi
mov esi, dword [esp + 0x30]
mov eax, dword [ecx + 0x6c]
mov ecx, dword [esp + 0x20]
push esi
push dword [esp + 0x20]
mov dword [edi - 0x14], eax
call fcn.004b8c00
mov ecx, dword [edi - 0x1c]
inc esi
mov dword [esp + 0x5c], eax
add esp, 0x1c
mov eax, dword [esp + 8]
add edi, 0x58
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], esi
mov dword [eax + 0x1c], ecx
cmp esi, dword [esp + 0x2c]
jl 0x4c2d20
mov esi, eax
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 8]
cmp byte [eax + 0x2e], 0
je 0x4c2e0a
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
test eax, eax
je 0x4c2dfc
nop
cmp eax, esi
je 0x4c2dfc
mov eax, dword [eax + 0x14]
inc ecx
test eax, eax
jne 0x4c2df0
mov eax, dword [esp + 8]
mov edx, 0x61
mov dword [eax + 0x18], ecx
jmp 0x4c2e36
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4c2e21
test byte [esp + 0x24], 0x20
je 0x4c2e21
mov ecx, eax
mov edx, 0x5f
jmp 0x4c2e36
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov ecx, dword [eax + 0x28]
lea eax, [ecx + 1]
mov dword [esi + 0x28], eax
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
push edi
mov dword [eax - 0x40], ecx
push dword [esi + 0x2c]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.0046aa80
add esp, 0xc
mov edx, esi
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.0046ba00
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x24]
test al, 0xf
je 0x4c2c97
test eax, 0x88002
jne 0x4c2c97
mov eax, dword [esp + 8]
test byte [eax + 0x28], 1
jne 0x4c2c97
cmp byte [eax + 0x2f], 2
je 0x4c2c97
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x6c]
test eax, eax
jle 0x4c2c97
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
mov edx, 2
mov word [eax + ecx*4 - 0x12], dx
jmp 0x4c2c97