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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov dword [esp + 8], ecx
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [edx]
lea esi, [eax + 2]
mov dword [edx], esi
mov edi, dword [esp + 0x74]
mov dword [esp], eax
movsx eax, byte [eax + 1]
movzx ecx, al
mov dword [esp + 0xc], ecx
mov dword [esp + 4], eax
add eax, 0xffffffde
cmp eax, 0x59
ja case.0x4cbc51.35
mov ecx, dword [esp + 0x6c]
jmp dword [eax*4 + 0x55da90]
mov eax, dword [esp]
lea esi, [eax + 2]
mov dword [edx], esi
movsx eax, byte [eax + 1]
add eax, 0xffffffd0
cmp esi, ecx
je 0x4cbdaf
mov edi, eax
mov al, byte [esi]
and al, 0xf8
cmp al, 0x30
jne 0x4cbda9
mov eax, edi
shl eax, 3
mov edi, dword [esp]
lea esi, [edi + 3]
mov dword [edx], esi
movsx edi, byte [edi + 2]
add edi, 0xffffffd0
or edi, eax
mov eax, edi
cmp esi, ecx
je 0x4cbdab
mov ecx, eax
mov al, byte [esi]
and al, 0xf8
cmp al, 0x30
mov edi, dword [esp + 0x74]
jne 0x4cc4a1
shl ecx, 3
mov eax, dword [esp]
lea esi, [eax + 4]
mov dword [edx], esi
movsx eax, byte [eax + 3]
add eax, 0xffffffd0
or ecx, eax
mov eax, ecx
jmp 0x4cbdaf
test ebx, ebx
je case.0x4cbc51.34
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov ebp, eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x3e9
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cbd0d
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc1fb
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cbd7f
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc1fb
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cbd61
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cbd57
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4cbd50
jmp 0x4cbea0
mov eax, edi
mov edi, dword [esp + 0x74]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x7c]
shr eax, cl
cmp ecx, 0x20
je case.0x4cbc51.34
test eax, eax
je case.0x4cbc51.34
test ebx, ebx
je 0x4cbf73
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov dword [esp + 0x10], eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x340
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cbe0f
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cbea6
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx + 0x274]
imul ebx, eax, 0x34
jmp 0x4cbe7b
add eax, 0x24
mov ebp, eax
mov ecx, edx
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [edi + ebx - 0xc], 0
mov dword [edi + ebx - 8], 0xf
mov byte [edi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4cbea6
mov eax, dword [edi + ebx - 8]
cmp eax, 0x10
jb 0x4cbe61
mov ecx, dword [edi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4cbe57
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4cbe50
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [esp + 0x80]
mov dword [eax + 0x278], 0
mov ebp, dword [esp + 0x84]
push ebp
mov eax, dword [esp + 0x7c]
push eax
push dword [esp + 0x10]
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, ebx
sub esi, dword [esp]
push ebp
push dword [esp + 0x7c]
push esi
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [ecx + 0x210]
ja 0x4cce57
lea esi, [esp + 0x3c]
mov eax, dword [ecx + 0x208]
mov edx, dword [ecx + 0x20c]
lea edi, [edx + edx*2]
mov edx, dword [esi + 8]
mov dword [eax + edi*4 + 8], edx
movsd xmm0, qword [esi]
movsd qword [eax + edi*4], xmm0
add dword [ecx + 0x20c], 1
movzx eax, byte [ecx + 0xe4]
mov byte [ecx + eax + 0xe5], 2
mov edx, eax
add dl, 1
mov byte [ecx + 0xe4], dl
mov dword [ecx + eax*4 + 0xf0], 1
push 0
call fcn.0045a620
mov ecx, dword [esp + 0x7c]
neg cl
mov eax, dword [esp + 4]
shl eax, cl
shr eax, cl
mov dword [esp + 4], eax
jmp case.0x4cbc51.34
mov dword [esp + 4], 8
jmp case.0x4cbc51.34
mov dword [esp + 4], 0x1b
test ebx, ebx
je case.0x4cbc51.34
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov dword [esp + 8], eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x3e9
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cbfe0
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc4bd
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cc048
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc4bd
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cc02a
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cc020
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov ebx, eax
mov ecx, edx
jmp 0x4cc020
mov dword [esp + 4], 0xa
jmp case.0x4cbc51.34
mov dword [esp + 4], 0xd
jmp case.0x4cbc51.34
mov dword [esp + 4], 9
jmp case.0x4cbc51.34
cmp esi, ecx
je 0x4cc633
movzx eax, byte [esi]
test byte [eax + eax + 0x554be0], 0x18
je 0x4cc633
mov ebp, dword [eax*4 + 0x55d4bc]
cmp ebp, 0xffffffff
je 0x4cc9ca
mov eax, dword [esp]
lea esi, [eax + 3]
xor eax, eax
xor ebx, ebx
mov edi, ebx
shl ebx, 4
or ebx, ebp
cmp edi, 0x10000000
movzx eax, al
mov edi, 1
cmovae eax, edi
mov dword [edx], esi
cmp ecx, esi
je 0x4cc109
movzx edi, byte [esi]
mov ebp, dword [edi*4 + 0x55d4bc]
add esi, 1
cmp ebp, 0xffffffff
jne 0x4cc0d4
add esi, 0xffffffff
mov ecx, esi
and al, 1
mov esi, ecx
jmp 0x4cc9ce
test ebx, ebx
je case.0x4cbc51.34
mov eax, dword [esp + 0xc]
movzx eax, word [eax + eax + 0x554be0]
test eax, 0x7ec
je 0x4cc7d9
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov ebp, eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x402
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cc16c
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc1fb
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cc1d1
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc1fb
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cc1b7
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cc1ad
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4cc1a6
jmp 0x4cbea0
mov ecx, dword [esp + 0x80]
lea eax, [ecx + 0xe4]
mov dword [esp], eax
mov dword [ecx + 0x278], 0
mov ebx, dword [esp + 0x84]
push ebx
mov esi, dword [esp + 0x7c]
push esi
push ebp
mov ebp, dword [esp + 0x80]
push ebp
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, ebp
push ebx
push esi
lea esi, [esp + 0x44]
push 2
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [edi + 0x20c]
lea eax, [edx + 1]
mov ebp, esi
cmp eax, dword [edi + 0x210]
ja 0x4cce1a
mov eax, dword [edi + 0x208]
mov ecx, dword [edi + 0x20c]
lea ecx, [ecx + ecx*2]
mov edx, dword [ebp + 8]
mov dword [eax + ecx*4 + 8], edx
movsd xmm0, qword [ebp]
movsd qword [eax + ecx*4], xmm0
add dword [edi + 0x20c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
mov eax, dword [esp]
mov dword [esp + 0x24], eax
mov word [esp + 0x30], 1
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 1
mov eax, dword [esp + 0xc]
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], 0
lea ecx, [esp + 0x24]
push 1
push esi
call fcn.004545a0
mov eax, dword [esp + 0x50]
cmp eax, 0x10
jb 0x4cc319
mov ecx, dword [esp + 0x3c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4cc30f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
cmp byte [esp + 0x30], 0
je 0x4cc33e
mov ecx, dword [esp + 0x2c]
movzx eax, byte [esp + 0x31]
push eax
call fcn.0045a620
mov dword [esp + 0x2c], 0
mov word [esp + 0x30], 0
mov esi, dword [esp + 0x24]
test esi, esi
je case.0x4cbc51.34
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x4cbc51.34
cmp eax, esi
ja 0x4cc4a8
lea ecx, [eax + 0x2d40]
cmp ecx, esi
jb 0x4cc4a8
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], esi
jmp case.0x4cbc51.34
mov dword [esp + 4], 0x1b
test ebx, ebx
je case.0x4cbc51.34
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov dword [esp + 8], eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x3e9
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cc3d4
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc578
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cc448
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc578
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cc42a
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cc420
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov ebx, eax
mov ecx, edx
jmp 0x4cc420
mov dword [esp + 4], 7
jmp case.0x4cbc51.34
mov dword [esp + 4], 0xc
jmp case.0x4cbc51.34
mov dword [esp + 4], 0xb
jmp case.0x4cbc51.34
mov eax, ecx
jmp 0x4cbdaf
mov ecx, esi
call fcn.00454310
push esi
call fcn.00533f45
add esp, 4
jmp case.0x4cbc51.34
mov esi, dword [esp + 0x80]
mov dword [esi + 0x278], 0
push ebp
mov ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 8]
mov esi, dword [esp + 0x80]
push esi
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, esi
push ebp
push ebx
push 2
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [ecx + 0x210]
ja 0x4cce94
lea esi, [esp + 0x3c]
mov eax, dword [ecx + 0x208]
mov edx, dword [ecx + 0x20c]
lea edi, [edx + edx*2]
mov edx, dword [esi + 8]
mov dword [eax + edi*4 + 8], edx
movsd xmm0, qword [esi]
movsd qword [eax + edi*4], xmm0
add dword [ecx + 0x20c], 1
movzx eax, byte [ecx + 0xe4]
mov byte [ecx + eax + 0xe5], 1
mov edx, eax
add dl, 1
mov byte [ecx + 0xe4], dl
mov dword [ecx + eax*4 + 0xf0], 0x55d8b8
jmp 0x4ccbb9
mov esi, dword [esp + 0x80]
mov dword [esi + 0x278], 0
push ebp
mov ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 8]
mov esi, dword [esp + 0x80]
push esi
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, esi
push ebp
push ebx
push 2
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [ecx + 0x210]
ja 0x4cced1
lea esi, [esp + 0x3c]
mov eax, dword [ecx + 0x208]
mov edx, dword [ecx + 0x20c]
lea edi, [edx + edx*2]
mov edx, dword [esi + 8]
mov dword [eax + edi*4 + 8], edx
movsd xmm0, qword [esi]
movsd qword [eax + edi*4], xmm0
add dword [ecx + 0x20c], 1
movzx eax, byte [ecx + 0xe4]
mov byte [ecx + eax + 0xe5], 1
mov edx, eax
add dl, 1
mov byte [ecx + 0xe4], dl
mov dword [ecx + eax*4 + 0xf0], 0x55d8ba
jmp 0x4ccbb9
test ebx, ebx
je 0x4cc7c5
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov dword [esp + 8], eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x347
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cc678
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc708
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cc6d6
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc708
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cc6bc
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cc6b2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov ebx, eax
mov ecx, edx
jmp 0x4cc6b2
mov esi, dword [esp + 0x80]
mov dword [esi + 0x278], 0
push ebp
mov ebx, dword [esp + 0x7c]
push ebx
push dword [esp + 8]
mov esi, dword [esp + 0x80]
push esi
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, esi
push ebp
push ebx
push 2
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [ecx + 0x210]
ja 0x4ccf0e
lea esi, [esp + 0x3c]
mov eax, dword [ecx + 0x208]
mov edx, dword [ecx + 0x20c]
lea edi, [edx + edx*2]
mov edx, dword [esi + 8]
mov dword [eax + edi*4 + 8], edx
movsd xmm0, qword [esi]
movsd qword [eax + edi*4], xmm0
add dword [ecx + 0x20c], 1
movzx eax, byte [ecx + 0xe4]
mov byte [ecx + eax + 0xe5], 1
mov edx, eax
add dl, 1
mov byte [ecx + 0xe4], dl
mov dword [ecx + eax*4 + 0xf0], 0x537b0c
push 0
call fcn.0045a620
mov eax, dword [esp + 0x70]
mov byte [eax], 1
mov dword [esp + 4], 0
jmp case.0x4cbc51.34
mov eax, dword [esp]
sub eax, dword [esp + 8]
push ebp
push dword [esp + 0x7c]
mov dword [esp + 8], eax
push eax
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 0x402
lea eax, [ebx + 0xc4]
cmp dword [ebx + 0xd8], 0x10
jb 0x4cc816
mov eax, dword [eax]
mov dword [ebx + 0xd4], 0
mov byte [eax], 0
mov byte [ebx + 0xe4], 0
mov dword [ebx + 0x20c], 0
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x4cc8a5
mov ecx, dword [esp + 0x80]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4cc87b
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4cc8a5
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4cc861
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4cc857
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4cc850
jmp 0x4cbea0
mov ebx, dword [esp + 0x80]
lea eax, [ebx + 0xe4]
mov dword [esp + 8], eax
mov dword [ebx + 0x278], 0
push ebp
mov esi, dword [esp + 0x7c]
push esi
push dword [esp + 8]
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, ebx
push ebp
push esi
push 2
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [edi + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [edi + 0x210]
ja 0x4ccf4b
lea ebx, [esp + 0x3c]
mov eax, dword [edi + 0x208]
mov ecx, dword [edi + 0x20c]
lea ecx, [ecx + ecx*2]
mov edx, dword [ebx + 8]
mov dword [eax + ecx*4 + 8], edx
movsd xmm0, qword [ebx]
movsd qword [eax + ecx*4], xmm0
add dword [edi + 0x20c], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], edi
mov eax, dword [esp + 8]
mov dword [esp + 0x10], eax
mov word [esp + 0x1c], 1
lea esi, [esp + 0x4d]
mov edx, dword [esp + 4]
test dl, dl
je 0x4ccbd7
xor ecx, ecx
mov ebp, esi
xor edi, edi
mov ebx, edx
and ebx, 0xf
mov eax, ebx
add al, 0x37
mov ah, bl
or ah, 0x30
cmp ebx, 0xa
movzx ebx, ah
movzx eax, al
cmovb eax, ebx
mov byte [ebp - 1], al
shrd edx, edi, 4
add ebp, 0xffffffff
shr edi, 4
add ecx, 1
mov eax, edx
or eax, edi
jne 0x4cc971
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
test ecx, ecx
jne 0x4ccbf5
mov eax, 0xf
xor edx, edx
jmp 0x4ccc7d
xor eax, eax
xor ebx, ebx
mov ecx, dword [esp + 0x7c]
cmp ecx, 0x20
sete byte [esp + 4]
mov edx, ebx
shr edx, cl
test edx, edx
sete dl
or dl, byte [esp + 4]
neg cl
mov edi, 0xffffffff
mov ebp, 0xffffffff
shr ebp, cl
test dl, dl
cmovne ebp, edi
and ebp, ebx
mov dword [esp + 4], ebp
mov edi, dword [esp + 0x80]
test edi, edi
je case.0x4cbc51.34
xor dl, 1
or al, dl
je case.0x4cbc51.34
mov eax, dword [esp]
sub eax, dword [esp + 8]
push dword [esp + 0x84]
push dword [esp + 0x7c]
mov dword [esp + 0x10], eax
push eax
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004ba470
add esp, 0x10
add eax, ebx
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x340
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4cca64
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4ccaf4
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx + 0x274]
imul ebx, eax, 0x34
jmp 0x4ccac2
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [edi + ebx - 0xc], 0
mov dword [edi + ebx - 8], 0xf
mov byte [edi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4ccaf4
mov eax, dword [edi + ebx - 8]
cmp eax, 0x10
jb 0x4ccaa8
mov ecx, dword [edi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4cca9e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4cca9e
mov eax, dword [esp + 0x80]
mov dword [eax + 0x278], 0
mov eax, dword [esp + 0x84]
push eax
mov ebp, dword [esp + 0x7c]
push ebp
push dword [esp + 0x10]
mov ebx, dword [esp + 0x80]
push ebx
call fcn.004ba470
add esp, 0x10
mov edi, eax
add edi, ebx
sub esi, dword [esp]
push dword [esp + 0x84]
push ebp
push esi
push edi
call fcn.004ba470
add esp, 0x10
add eax, edi
mov dword [esp + 0x3c], edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], 0
mov edx, dword [ecx + 0x20c]
lea eax, [edx + 1]
cmp eax, dword [ecx + 0x210]
ja 0x4ccf88
lea esi, [esp + 0x3c]
mov eax, dword [ecx + 0x208]
mov edx, dword [ecx + 0x20c]
lea edi, [edx + edx*2]
mov edx, dword [esi + 8]
mov dword [eax + edi*4 + 8], edx
movsd xmm0, qword [esi]
movsd qword [eax + edi*4], xmm0
add dword [ecx + 0x20c], 1
movzx eax, byte [ecx + 0xe4]
mov byte [ecx + eax + 0xe5], 2
mov edx, eax
add dl, 1
mov byte [ecx + 0xe4], dl
mov dword [ecx + eax*4 + 0xf0], 0
push 0
call fcn.0045a620
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.00533ace
mov eax, dword [esp + 4]
add esp, 0x58
pop esi
pop edi
pop ebx
pop ebp
ret
lea ebp, [esp + 0x4c]
mov byte [esp + 0x4c], 0x30
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
sub esi, ebp
cmp esi, 0xf
jbe 0x4ccc19
sub esp, 0xc
mov al, byte [esp + 0x2c]
mov byte [esp + 4], al
mov dword [esp + 8], ebp
mov dword [esp], esi
lea ecx, [esp + 0x30]
call fcn.00404140
jmp 0x4ccc31
mov dword [esp + 0x34], esi
lea eax, [esp + 0x24]
push esi
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + esi + 0x24], 0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
cmp eax, edx
jne 0x4ccc7d
sub esp, 0x14
mov al, byte [esp + 0x50]
mov byte [esp + 4], al
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0x537b0c
mov dword [esp + 8], 0
mov dword [esp], 1
lea ecx, [esp + 0x38]
call fcn.00418450
mov esi, eax
add eax, 0x14
lea ecx, [esi + 0x10]
jmp 0x4ccd0d
lea ecx, [edx + 1]
mov dword [esp], ecx
mov dword [esp + 0x34], ecx
cmp eax, 0xf
mov ecx, dword [esp + 0x24]
lea esi, [esp + 0x24]
mov edi, esi
cmova edi, ecx
mov ebp, 1
mov ebx, 1
cmp edi, 0x537b0d
jae 0x4ccccb
add edx, edi
mov ebx, 1
cmp edx, 0x537b0c
jb 0x4ccccb
xor ebx, ebx
cmp edi, 0x537b0c
jbe 0x4ccccb
mov edx, 0x537b0c
mov ebx, edi
sub ebx, edx
cmp eax, 0xf
cmovbe ecx, esi
add ecx, 1
push dword [esp]
push edi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push ebx
push 0x537b0c
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
sub ebp, ebx
lea eax, [ebx + 0x537b0d]
add edi, ebx
push ebp
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
lea ecx, [esp + 0x40]
lea eax, [esp + 0x44]
add esp, 0xc
movups xmm0, xmmword [esi]
movups xmmword [esp + 0x3c], xmm0
movsd xmm0, qword [esi + 0x10]
movsd qword [esp + 0x4c], xmm0
mov dword [ecx], 0
mov dword [eax], 0xf
mov byte [esi], 0
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x50], 0xf
jbe 0x4ccd40
mov edx, dword [esp + 0x3c]
jmp 0x4ccd44
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x10]
push eax
push edx
call fcn.004545a0
mov eax, dword [esp + 0x50]
cmp eax, 0x10
jb 0x4ccd89
mov ecx, dword [esp + 0x3c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4ccd7f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xf
mov byte [esp + 0x3c], 0
mov eax, dword [esp + 0x38]
cmp eax, 0x10
jb 0x4ccdd8
mov ecx, dword [esp + 0x24]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4ccdce
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4cbea0
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
cmp byte [esp + 0x1c], 0
je 0x4ccdfd
mov ecx, dword [esp + 0x18]
movzx eax, byte [esp + 0x1d]
push eax
call fcn.0045a620
mov dword [esp + 0x18], 0
mov word [esp + 0x1c], 0
mov esi, dword [esp + 0x10]
test esi, esi
je case.0x4cbc51.34
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4cc356
jmp case.0x4cbc51.34
add edi, 0x208
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea ebp, [esp + 0x3c]
cmp edx, ebp
seta dl
cmp ecx, ebp
ja 0x4cce3d
test dl, dl
jne 0x4ccfc5
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov edi, dword [esp + 0x80]
jmp 0x4cc275
lea edi, [ecx + 0x208]
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea esi, [esp + 0x3c]
cmp edx, esi
seta dl
cmp ecx, esi
ja 0x4cce7a
test dl, dl
jne 0x4ccfe0
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov ecx, dword [esp + 0x80]
jmp 0x4cbf1d
lea edi, [ecx + 0x208]
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea esi, [esp + 0x3c]
cmp edx, esi
seta dl
cmp ecx, esi
ja 0x4cceb7
test dl, dl
jne 0x4ccffb
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov ecx, dword [esp + 0x80]
jmp 0x4cc528
lea edi, [ecx + 0x208]
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea esi, [esp + 0x3c]
cmp edx, esi
seta dl
cmp ecx, esi
ja 0x4ccef4
test dl, dl
jne 0x4cd016
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov ecx, dword [esp + 0x80]
jmp 0x4cc5e3
lea edi, [ecx + 0x208]
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea esi, [esp + 0x3c]
cmp edx, esi
seta dl
cmp ecx, esi
ja 0x4ccf31
test dl, dl
jne 0x4cd031
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov ecx, dword [esp + 0x80]
jmp 0x4cc773
add edi, 0x208
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea ebx, [esp + 0x3c]
cmp edx, ebx
seta dl
cmp ecx, ebx
ja 0x4ccf6e
test dl, dl
jne 0x4cd04c
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov edi, dword [esp + 0x80]
jmp 0x4cc91a
lea edi, [ecx + 0x208]
mov ecx, dword [edi]
lea edx, [edx + edx*2]
lea edx, [ecx + edx*4]
lea esi, [esp + 0x3c]
cmp edx, esi
seta dl
cmp ecx, esi
ja 0x4ccfab
test dl, dl
jne 0x4cd067
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
mov ecx, dword [esp + 0x80]
jmp 0x4ccb6e
lea ebp, [esp + 0x3c]
sub ebp, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add ebp, dword [edi]
jmp 0x4cce4b
lea esi, [esp + 0x3c]
sub esi, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add esi, dword [edi]
jmp 0x4cce88
lea esi, [esp + 0x3c]
sub esi, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add esi, dword [edi]
jmp 0x4ccec5
lea esi, [esp + 0x3c]
sub esi, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add esi, dword [edi]
jmp 0x4ccf02
lea esi, [esp + 0x3c]
sub esi, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add esi, dword [edi]
jmp 0x4ccf3f
lea ebx, [esp + 0x3c]
sub ebx, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add ebx, dword [edi]
jmp 0x4ccf7c
lea esi, [esp + 0x3c]
sub esi, ecx
lea edx, [edi + 0xc]
mov ecx, edi
push 0xc
push eax
push edx
call fcn.00424880
add esi, dword [edi]
jmp 0x4ccfb9