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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
mov esi, ecx
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0xb0], eax
mov edi, dword [ecx + 0x60]
cmp edi, 0xb
jne 0x4fcdd1
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00533ace
mov ecx, esi
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4fe510
xor ebx, ebx
mov ecx, edi
mov ebp, 0
mov eax, 0
cmp edi, 8
jne 0x4fcdf9
lea eax, [esp + 0x6c]
mov ecx, esi
push eax
call fcn.004fb460
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esi + 0x60]
mov al, 1
mov dword [esp + 4], eax
mov eax, ecx
cmp ecx, 0xc
jne 0x4fce1b
lea eax, [esp + 0x6c]
mov ebx, ecx
mov ecx, esi
push eax
call fcn.004fb460
mov ecx, ebx
mov ebx, dword [esp + 0x6c]
mov eax, dword [esi + 0x60]
cmp eax, 0xe
mov dword [esp], esi
jne 0x4fce6a
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
mov ebx, esi
lea esi, [esp + 0x6c]
mov ecx, ebx
push esi
call fcn.004fb460
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x18], eax
cmp dword [ebx + 0x60], 0x14
jne 0x4fcf50
xor eax, eax
cmp dword [esp + 0x24], 0xc
sete al
xor edx, edx
cmp edi, 8
sete dl
mov ecx, ebx
push edx
push eax
call fcn.004fea40
jmp 0x4fd7bc
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x35f
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fce91
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 0x4fcf25
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4fcefb
add eax, 0x24
mov ebp, eax
mov ecx, edx
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4fcf25
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4fcee1
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fced7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fced0
jmp 0x4fd7a0
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
lea eax, [esp + 0x6c]
mov esi, dword [esp]
mov ecx, esi
push eax
call fcn.004fb460
mov byte [esi + 0x21], 1
jmp 0x4fd7bc
lea eax, [esp + 0x78]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 2
mov ecx, ebx
push esi
call fcn.004fbe80
test al, al
je 0x4fcf7d
mov byte [ebx + 0x21], 1
jmp 0x4fd732
mov eax, dword [ebx + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], eax
test eax, eax
mov esi, ebx
je 0x4fd074
cmp ecx, 2
jb 0x4fd55a
mov edi, dword [esi + 0xc]
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 0x18]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x36f
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fcfc6
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
lea eax, [edi + 0xe4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], edi
mov word [esp + 0x60], 1
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4fd146
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4fd042
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4fd146
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4fd024
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fd01a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4fd01a
mov dword [esp + 0x20], 0
cmp edi, 8
mov eax, dword [esp + 4]
jne 0x4fd1ca
cmp ecx, 1
jne 0x4fd1ca
mov edi, dword [esi + 0xc]
mov dword [edi + 0xdc], ebp
mov dword [edi + 0xe0], 0x364
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fd0b6
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 0x4fd1ce
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4fd11c
add eax, 0x24
mov ebp, eax
mov ecx, edx
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4fd1ce
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4fd0fe
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fd0f4
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fd0ed
jmp 0x4fd7a0
mov dword [edi + 0x278], 0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
mov ecx, dword [eax + edx - 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x40]
lea ecx, [esp + 0x54]
push eax
call fcn.004e8a20
cmp byte [esp + 0x60], 0
je 0x4fd1a2
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + 0x61]
push eax
call fcn.0045a620
mov dword [esp + 0x5c], 0
mov word [esp + 0x60], 0
mov edi, dword [esp + 0x54]
test edi, edi
mov esi, dword [esp]
je 0x4fd72e
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4fd72e
cmp eax, edi
jbe 0x4fd6fc
jmp 0x4fd71e
mov edi, ecx
jmp 0x4fd1f7
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov byte [esi + 0x21], 1
mov eax, dword [esi + 0x78]
mov dword [esp + 0x20], eax
xor ebp, ebp
mov edi, dword [esp + 0x70]
xor eax, eax
cmp edi, 2
mov dword [esp + 4], eax
jb 0x4fd55a
mov dword [esi + 0x78], 0
add edi, 0xffffffff
xor ecx, ecx
mov dword [esp + 0x18], 0
xor eax, eax
mov dword [esp + 8], edi
mov dword [esp + 0x10], ebp
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [esp + 0x6c]
mov ebx, eax
lea eax, [eax + eax*8]
lea eax, [eax + eax*2]
mov dword [esp + 0xc], ebx
add eax, ebx
cmp dword [edx + eax + 0x14], 0xf
jbe 0x4fd250
mov ebx, eax
mov eax, dword [edx + eax]
jmp 0x4fd254
mov ebx, eax
add eax, edx
mov dword [esp + 0x1c], ebx
mov edx, dword [edx + ebx + 0x10]
test ecx, ecx
je 0x4fd26d
push edx
push eax
call fcn.005285f0
test eax, eax
jne 0x4fd2aa
jmp 0x4fd2c6
mov esi, dword [esi + 0x10]
lea ecx, [esi + 0x218]
push edx
push eax
call fcn.00437e40
cmp eax, 0xffffffff
je 0x4fd28e
mov ecx, dword [esi + 0x21c]
cmp eax, ecx
je 0x4fd2c6
jmp 0x4fd29a
mov ecx, dword [esi + 0x21c]
mov eax, ecx
cmp eax, ecx
je 0x4fd2c6
mov ecx, dword [esi + 0x218]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 4]
test eax, eax
je 0x4fd2c6
mov edx, dword [esp + 0xc]
test edx, edx
mov ecx, dword [esp + 0x18]
cmove ecx, eax
mov dword [esp + 0x18], ecx
mov esi, dword [esp]
mov dword [esi + 0x78], eax
jmp 0x4fd521
mov eax, dword [esp]
mov ebp, dword [eax + 0xc]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + ecx + 0x18]
mov dword [ebp + 0xdc], eax
mov dword [ebp + 0xe0], 0x36c
lea eax, [ebp + 0xc4]
cmp dword [ebp + 0xd8], 0x10
jb 0x4fd2f9
mov eax, dword [eax]
mov dword [ebp + 0xd4], 0
mov byte [eax], 0
lea eax, [ebp + 0xe4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], ebp
mov word [esp + 0x4c], 1
mov byte [ebp + 0xe4], 0
mov dword [ebp + 0x20c], 0
mov eax, dword [ebp + 0x278]
test eax, eax
je 0x4fd3a5
mov esi, dword [ebp + 0x274]
imul edi, eax, 0x34
jmp 0x4fd37b
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 0x4fd3a5
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4fd361
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4fd357
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fd350
jmp 0x4fd7a0
mov dword [ebp + 0x278], 0
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
cmp dword [eax + esi + 0x14], 0xf
jbe 0x4fd3c3
mov edx, dword [eax + esi]
jmp 0x4fd3c6
lea edx, [eax + esi]
mov edi, dword [esp]
mov ebp, dword [esp + 0x10]
lea ecx, [esp + 0x40]
push dword [eax + esi + 0x10]
push edx
call fcn.004545a0
mov esi, dword [edi + 0x78]
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4fd3f3
mov ecx, dword [esp + 0x44]
call fcn.00454700
mov dword [esp + 0x40], eax
xor ecx, ecx
test esi, esi
setne cl
movzx edx, byte [eax]
mov byte [eax + edx + 1], 2
mov eax, dword [esp + 0x40]
movzx edx, byte [eax]
mov ebx, edx
add bl, 1
mov byte [eax], bl
mov dword [eax + edx*4 + 0xc], ecx
mov ecx, dword [edi + 0x78]
test ecx, ecx
mov esi, edi
je 0x4fd447
call fcn.00527c80
mov ecx, eax
push 0
lea edi, [esp + 0x58]
push edi
call fcn.00527c90
cmp dword [esp + 0x68], 0xf
mov eax, edi
mov edi, dword [esp + 8]
jbe 0x4fd441
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
jmp 0x4fd466
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
xor edx, edx
lea eax, [esp + 0x54]
mov edi, dword [esp + 8]
lea ecx, [esp + 0x40]
push edx
push eax
call fcn.004545a0
mov eax, dword [esp + 0x68]
cmp eax, 0x10
jb 0x4fd4ae
mov ecx, dword [esp + 0x54]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4fd4a1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov esi, dword [esp]
cmp byte [esp + 0x4c], 0
je 0x4fd4d3
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x4d]
push eax
call fcn.0045a620
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x4fd519
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4fd519
cmp eax, ebx
ja 0x4fd509
lea ecx, [eax + 0x2d40]
cmp ecx, ebx
jb 0x4fd509
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], ebx
jmp 0x4fd519
mov ecx, ebx
call fcn.00454310
push ebx
call fcn.00533f45
add esp, 4
mov byte [esi + 0x21], 1
mov edx, dword [esp + 0xc]
add edx, 1
cmp edx, edi
je 0x4fd532
mov eax, edx
mov ecx, dword [esi + 0x78]
jmp 0x4fd230
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x4fd55a
mov ecx, dword [esi + 0x10]
mov edi, esi
mov esi, dword [esi + 0x14]
push ebx
call fcn.004fa9e0
cmp esi, eax
je 0x4fd558
mov ecx, dword [edi + 0x10]
push dword [edi + 0x14]
push ebx
call fcn.004faa90
mov esi, edi
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
lea ecx, [edx + edx*8]
lea ecx, [ecx + ecx*2]
add ecx, edx
cmp dword [eax + ecx - 8], 0xf
jbe 0x4fd577
mov ebx, dword [eax + ecx - 0x1c]
jmp 0x4fd57d
lea ebx, [eax + ecx]
add ebx, 0xffffffe4
mov edx, dword [eax + ecx - 0xc]
mov dword [esp + 0xc], edx
mov edi, dword [eax + ecx - 4]
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call fcn.004ffd80
test al, al
jne 0x4fd732
cmp dword [esi + 0x60], 0x18
jne 0x4fd5d5
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
call fcn.004fb460
mov ecx, dword [esi + 0x78]
test ecx, ecx
mov dword [esp + 0x18], edi
je 0x4fd7d5
push dword [esp + 0xc]
push ebx
call fcn.005285f0
jmp 0x4fd80d
mov dword [esp + 0x1c], ebx
mov ebp, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [ebp + 0xdc], eax
mov dword [ebp + 0xe0], 0x35a
lea eax, [ebp + 0xc4]
cmp dword [ebp + 0xd8], 0x10
jb 0x4fd600
mov eax, dword [eax]
mov dword [ebp + 0xd4], 0
mov byte [eax], 0
lea eax, [ebp + 0xe4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], ebp
mov word [esp + 0x60], 1
mov byte [ebp + 0xe4], 0
mov dword [ebp + 0x20c], 0
mov eax, dword [ebp + 0x278]
test eax, eax
je 0x4fd6a5
mov esi, dword [ebp + 0x274]
imul ebx, eax, 0x34
jmp 0x4fd67b
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fd6a5
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fd661
mov ecx, dword [esi + ebx - 0x1c]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4fd657
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fd650
jmp 0x4fd7a0
mov dword [ebp + 0x278], 0
lea ecx, [esp + 0x54]
push dword [esp + 0xc]
push dword [esp + 0x20]
call fcn.004545a0
cmp byte [esp + 0x60], 0
je 0x4fd6e5
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + 0x61]
push eax
call fcn.0045a620
mov dword [esp + 0x5c], 0
mov word [esp + 0x60], 0
mov edi, dword [esp + 0x54]
test edi, edi
mov esi, dword [esp]
je 0x4fd72e
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4fd72e
cmp eax, edi
ja 0x4fd71e
lea ecx, [eax + 0x2d40]
cmp ecx, edi
jb 0x4fd71e
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], edi
jmp 0x4fd72e
mov ecx, edi
call fcn.00454310
push edi
call fcn.00533f45
add esp, 4
mov byte [esi + 0x21], 1
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4fd7aa
lea ecx, [eax + eax*8]
lea edi, [ecx + ecx*2]
add edi, eax
jmp 0x4fd77b
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, 0xffffffe4
je 0x4fd7a6
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4fd761
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4fd757
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fd750
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov esi, dword [esp + 0x6c]
lea eax, [esp + 0x78]
cmp esi, eax
je 0x4fd7bc
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.00533ace
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, dword [esi + 0x10]
lea ecx, [esi + 0x218]
push dword [esp + 0xc]
push ebx
call fcn.00437e40
cmp eax, 0xffffffff
je 0x4fd7f5
mov ecx, dword [esi + 0x21c]
jmp 0x4fd7fd
mov ecx, dword [esi + 0x21c]
mov eax, ecx
cmp eax, ecx
je 0x4fd855
mov ecx, dword [esi + 0x218]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax + 4]
test eax, eax
je 0x4fd855
mov ecx, dword [eax + 0x18]
mov dword [esp + 8], ecx
mov esi, dword [esp]
mov ecx, dword [esi + 0x10]
mov edi, dword [ecx + 8]
mov ecx, dword [edi + 0x98]
and ecx, 0x60
cmp ecx, 0x20
mov dword [esp + 4], eax
jne 0x4fde0e
mov ecx, dword [edi + 0x164]
cmp dword [edi + 0x168], 0xf
jbe 0x4fde27
mov edi, dword [edi + 0x154]
jmp 0x4fde2d
xor eax, eax
cmp dword [esp + 0x24], 0xc
sete al
mov edi, dword [esp]
mov ecx, dword [edi + 0x10]
movzx edx, byte [esp + 4]
lea esi, [esp + 0x54]
push edx
push eax
push dword [edi + 0x78]
push dword [esp + 0x18]
push ebx
push esi
mov esi, edi
call fcn.004f82e0
mov eax, dword [esp + 0x54]
mov dword [edi + 0x78], eax
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x40]
test cl, 1
jne 0x4fd89d
cmp byte [esi + 0x20], 0
je 0x4fd8a7
mov eax, dword [esi + 0x78]
or dword [eax + 0x330], 0x40
test cl, 2
je 0x4fd8b9
mov eax, dword [esi + 0x78]
or dword [eax + 0x330], 0x80
mov eax, dword [esi + 0x78]
test cl, 8
jne 0x4fd8e3
cmp dword [esp + 0xc], 6
jne 0x4fd8ed
cmp dword [eax + 0x20], 0
jne 0x4fd8ed
mov ecx, 0x77726144
xor ecx, dword [ebx]
movzx edx, word [ebx + 4]
xor edx, 0x6e69
or edx, ecx
jne 0x4fd8ed
or byte [eax + 0x331], 0x20
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0x24], ecx
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x50]
mov ecx, dword [eax]
cmp ecx, 0x18
jae 0x4fd907
cmp ecx, 0x12
jae 0x4fd932
jmp 0x4fd96d
movdqu xmm0, xmmword [eax + ecx - 8]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm1, xmmword [0x55fc30]
pcmpeqb xmm0, xmmword [0x55fc40]
pand xmm0, xmm1
pmovmskb edx, xmm0
cmp edx, 0xffff
je 0x4fd960
movdqu xmm0, xmmword [eax + ecx - 2]
movzx eax, word [eax + ecx + 0xe]
movd xmm1, eax
pcmpeqb xmm0, xmmword [0x55fc50]
pcmpeqb xmm1, xmmword [0x55fc60]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x4fd96d
mov eax, dword [esi + 0x78]
or dword [eax + 0x330], 0x4000
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0xb4]
mov byte [esp + 0x54], 0
lea eax, [edx + 1]
cmp eax, 2
jae 0x4fde19
xor esi, esi
mov eax, dword [esp]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
test byte [eax + 0xa4], 2
je 0x4fd9e8
mov eax, dword [esp]
mov ebx, dword [eax + 0xc]
mov edi, dword [ebx + 0x1c]
mov ecx, edi
push ebx
push esi
push 0x450
call fcn.00458b30
cmp eax, 1
je 0x4fd9e8
mov ecx, edi
push ebx
push esi
push 0x44f
call fcn.00458b30
cmp eax, 1
je 0x4fd9e8
mov eax, dword [esp]
mov eax, dword [eax + 0x78]
test byte [eax + 0x331], 0x40
je 0x4fd9e8
mov ecx, dword [esp]
push dword [esp + 0x28]
push ebp
call fcn.004fc210
lea edi, [esp + 0x54]
mov esi, dword [esp]
jmp 0x4fda07
mov ecx, esi
call fcn.004fcd90
mov eax, dword [esi + 0x60]
add eax, 0xffffffff
cmp eax, 0x18
ja case.0x4fda16.4
jmp dword [eax*4 + 0x5601f4]
mov ecx, esi
call fcn.00500330
jmp 0x4fda07
mov ecx, esi
call fcn.005012f0
jmp 0x4fda07
mov ecx, esi
call fcn.005042d0
jmp 0x4fda07
mov ecx, esi
push edi
call fcn.004fb460
cmp dword [esi + 0x60], 4
jne 0x4fdbcc
sub esp, 4
mov ecx, esi
push 0x11
call fcn.00501ea0
jmp 0x4fda07
mov ecx, esi
call fcn.00501900
jmp 0x4fda07
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.004fb460
sub esp, 4
mov ecx, esi
push 7
call fcn.00501ea0
jmp 0x4fda07
mov ecx, esi
call fcn.00500770
jmp 0x4fda07
mov ecx, esi
lea eax, [esp + 0x30]
push eax
call fcn.004fb460
sub esp, 4
mov ecx, esi
push 0x10
call fcn.00501ea0
jmp 0x4fda07
mov ecx, esi
lea eax, [esp + 0x2c]
push eax
call fcn.004fb460
sub esp, 4
mov ecx, esi
push 4
call fcn.00501ea0
jmp 0x4fda07
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.004fb460
sub esp, 4
mov ecx, esi
push 0x17
call fcn.00501ea0
jmp 0x4fda07
mov ecx, esi
call fcn.00500e30
jmp 0x4fda07
mov ecx, esi
call fcn.00501ad0
jmp 0x4fda07
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x35d
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fdb1a
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 0x4fdba5
mov esi, dword [edi + 0x274]
imul ebp, eax, 0x34
jmp 0x4fdb7b
add eax, 0x24
mov ebx, eax
mov ecx, edx
push ebx
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebp - 0xc], 0
mov dword [esi + ebp - 8], 0xf
mov byte [esi + ebp - 0x1c], 0
add ebp, 0xffffffcc
je 0x4fdba5
mov eax, dword [esi + ebp - 8]
cmp eax, 0x10
jb 0x4fdb61
mov ecx, dword [esi + ebp - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4fdb57
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fdb50
jmp 0x4fd7a0
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov ecx, esi
lea edi, [esp + 0x54]
push edi
call fcn.004fb460
jmp 0x4fda07
mov ecx, esi
push dword [esp + 0x54]
call fcn.005032f0
jmp 0x4fda07
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x361
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fdc03
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 0x4fdc99
mov esi, dword [edi + 0x274]
imul ebx, eax, 0x34
jmp 0x4fdc5a
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fdc99
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fdc40
mov ecx, dword [esi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fdc36
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4fdc36
mov ecx, esi
push edi
call fcn.004fb460
jmp 0x4fdd7a
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov eax, dword [esp]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x40b
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fdcd7
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 0x4fdd60
mov esi, dword [edi + 0x274]
imul ebx, eax, 0x34
jmp 0x4fdd2e
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fdd60
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fdd14
mov ecx, dword [esi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fdd0a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4fdd0a
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov byte [esi + 0x21], 1
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 0x330]
test al, 0x10
je 0x4fddc1
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x4fdd9e
test byte [edx + 0x330], 0x10
jne 0x4fddc1
mov edx, dword [edx + 0x20]
test edx, edx
jne 0x4fdd8e
cmp dword [ecx + 0x4c4], 0
jne 0x4fddc1
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x1c]
push dword [eax + 8]
call fcn.004f9fd0
add esp, 4
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 0x330]
test al, 5
jne 0x4fde02
cmp dword [ecx + 0x20], 0
je 0x4fde02
call fcn.00527c80
mov ecx, eax
push 0
call fcn.005284c0
mov ecx, dword [esi + 0x78]
call fcn.00527c80
lea ecx, [eax + 0x298]
mov eax, dword [esi + 0x78]
mov edx, dword [eax + 0x298]
mov eax, dword [eax + 0x29c]
shl eax, 6
add eax, edx
push eax
push edx
call fcn.00504740
mov eax, dword [esp + 0x20]
mov dword [esi + 0x78], eax
jmp 0x4fd732
xor edx, edx
mov ecx, dword [esp + 8]
jmp 0x4fdfa7
test edx, edx
js 0x4fde96
add ecx, 0x6c
mov eax, edx
jmp 0x4fdeb3
add edi, 0x154
mov edx, dword [esp + 0xc]
cmp ecx, edx
jne 0x4fde4a
mov ecx, edx
test edx, edx
je 0x4fde59
push ecx
push ebx
push edi
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4fde59
xor edx, edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x4fdfa7
mov dword [esp + 0x10], ebp
mov ebp, dword [esi + 4]
lea eax, [esp + 0x54]
mov ecx, ebp
push dword [esp + 0x18]
push eax
call fcn.0045b580
mov edi, dword [esp + 0x54]
mov byte [esp + 0x53], 0
lea eax, [edi + 1]
cmp eax, 2
jae 0x4fded2
mov dword [esp + 0x14], 0
mov eax, dword [esp + 4]
lea edx, [esp + 0x54]
jmp 0x4fdf2f
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
shr edx, 5
mov esi, dword [ecx + 0x8c]
mov edx, dword [esi + edx*4]
bt edx, eax
jae 0x4fdedd
add ecx, 0x78
mov ecx, dword [ecx]
test ecx, ecx
je 0x4fd987
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov esi, dword [eax]
test esi, esi
jns 0x4fd989
jmp 0x4fd987
mov ecx, ebp
test edi, edi
js 0x4fdef5
add ecx, 0x6c
jmp 0x4fdf16
lea edx, [esp + 0x54]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x54], 0
jne 0x4fd987
jmp 0x4fdec3
mov eax, 0xfffffffe
sub eax, edi
mov ebp, eax
shr ebp, 5
mov edx, dword [ecx + 0x8c]
mov edx, dword [edx + ebp*4]
bt edx, eax
jae 0x4fe465
add ecx, 0x78
mov eax, dword [esp + 4]
lea edx, [esp + 0x54]
mov dword [esp + 0x14], edi
cmp dword [ecx], 0
jne 0x4fdf2f
mov dword [esp + 0x14], 0
mov ebp, dword [esi + 4]
mov ecx, ebp
push dword [eax + 0x18]
push edx
call fcn.0045b580
mov edi, dword [esp + 0x54]
mov byte [esp + 0x53], 0
lea ecx, [edi + 1]
cmp ecx, 2
jae 0x4fdf5e
xor edi, edi
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x4fdfa0
mov edx, ebp
test edi, edi
mov ebp, dword [esp + 0x10]
js 0x4fdf6d
add edx, 0x6c
jmp 0x4fdf91
mov eax, 0xfffffffe
sub eax, edi
mov ecx, eax
shr ecx, 5
mov esi, dword [edx + 0x8c]
mov ecx, dword [esi + ecx*4]
bt ecx, eax
jae 0x4fe488
add edx, 0x78
mov esi, dword [esp]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp dword [edx], 0
jne 0x4fdfa0
xor edi, edi
cmp dword [esp + 0x14], edi
setne dl
test ecx, ecx
setne cl
xor dl, 1
test cl, dl
jne 0x4fdfd9
cmp dword [esi + 0x78], 0
jne 0x4fdfd9
mov ecx, esi
push 0x19
call fcn.004fbdb0
cmp dword [esi + 0x60], 0x19
jne 0x4fe030
lea eax, [esp + 0x54]
mov ecx, esi
push eax
call fcn.004fb460
jmp 0x4fd732
cmp dword [eax + 0x20], 0
mov dword [esp + 0x1c], ebx
jne 0x4fe221
mov edx, dword [esi + 0x10]
mov dword [esp + 0x54], eax
mov ecx, dword [edx + 0x2c0]
mov edi, ebp
test ecx, ecx
je 0x4fe1c5
mov esi, eax
mov dword [esp + 0x10], edx
mov edx, dword [edx + 0x2b4]
shr eax, 4
mov ebp, esi
shr ebp, 9
xor ebp, eax
add ecx, 0xffffffff
and ebp, ecx
lea eax, [edx + ebp*8]
mov ebx, dword [edx + ebp*8]
cmp ebx, esi
jne 0x4fe4ac
mov esi, dword [esp + 0x10]
jmp 0x4fe1e8
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x361
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fe057
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 0x4fe0e0
mov esi, dword [edi + 0x274]
imul ebx, eax, 0x34
jmp 0x4fe0ae
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fe0e0
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fe094
mov ecx, dword [esi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fe08a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4fe08a
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov eax, dword [esp]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x40b
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fe11e
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 0x4fe1a6
mov esi, dword [edi + 0x274]
imul ebx, eax, 0x34
jmp 0x4fe17c
add eax, 0x24
mov ebp, eax
mov ecx, edx
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fe1a6
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fe162
mov ecx, dword [esi + ebx - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4fe158
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fe151
jmp 0x4fd7a0
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov eax, dword [esp]
mov byte [eax + 0x21], 1
jmp 0x4fd732
xor eax, eax
lea ecx, [edx + 0x2b4]
mov esi, edx
lea edx, [esp + 0x54]
push eax
push edx
push edx
call fcn.00454b40
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x2b0]
mov esi, dword [esp]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 4]
jae 0x4fe221
mov ebp, edi
xor eax, eax
cmp dword [esp + 0x24], 0xc
sete al
mov ecx, dword [esi + 0x10]
push edx
push eax
push dword [esp + 0x14]
push ebx
call fcn.004fa2b0
mov dword [esi + 0x78], eax
jmp 0x4fd887
mov ebp, dword [esi + 0xc]
mov eax, dword [esp + 0x18]
mov dword [ebp + 0xdc], eax
mov dword [ebp + 0xe0], 0x36e
lea eax, [ebp + 0xc4]
cmp dword [ebp + 0xd8], 0x10
jb 0x4fe249
mov eax, dword [eax]
mov dword [ebp + 0xd4], 0
mov byte [eax], 0
lea eax, [ebp + 0xe4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], ebp
mov word [esp + 0x60], 1
mov byte [ebp + 0xe4], 0
mov dword [ebp + 0x20c], 0
mov eax, dword [ebp + 0x278]
test eax, eax
je 0x4fe2ee
mov esi, dword [ebp + 0x274]
imul ebx, eax, 0x34
jmp 0x4fe2c4
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + ebx - 0xc], 0
mov dword [esi + ebx - 8], 0xf
mov byte [esi + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fe2ee
mov eax, dword [esi + ebx - 8]
cmp eax, 0x10
jb 0x4fe2aa
mov ecx, dword [esi + ebx - 0x1c]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4fe2a0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fe299
jmp 0x4fd7a0
mov dword [ebp + 0x278], 0
lea ecx, [esp + 0x54]
push dword [esp + 0xc]
push dword [esp + 0x20]
call fcn.004545a0
cmp byte [esp + 0x60], 0
je 0x4fe32e
mov ecx, dword [esp + 0x5c]
movzx eax, byte [esp + 0x61]
push eax
call fcn.0045a620
mov dword [esp + 0x5c], 0
mov word [esp + 0x60], 0
mov ebp, dword [esp + 0x54]
test ebp, ebp
mov esi, dword [esp]
je 0x4fe377
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4fe377
cmp eax, ebp
ja 0x4fe367
lea ecx, [eax + 0x2d40]
cmp ecx, ebp
jb 0x4fe367
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], ebp
jmp 0x4fe377
mov ecx, ebp
call fcn.00454310
push ebp
call fcn.00533f45
add esp, 4
mov ebp, dword [esi + 0xc]
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x18]
mov dword [ebp + 0xdc], eax
mov dword [ebp + 0xe0], 0x40d
lea eax, [ebp + 0xc4]
cmp dword [ebp + 0xd8], 0x10
jb 0x4fe3a2
mov eax, dword [eax]
mov dword [ebp + 0xd4], 0
mov byte [eax], 0
mov byte [ebp + 0xe4], 0
mov dword [ebp + 0x20c], 0
mov eax, dword [ebp + 0x278]
test eax, eax
je 0x4fe42b
mov esi, dword [ebp + 0x274]
imul edi, eax, 0x34
jmp 0x4fe3f9
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 0x4fe42b
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4fe3df
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4fe3d5
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fd7a0
add eax, 0x24
mov ebx, eax
mov ecx, edx
jmp 0x4fe3d5
mov dword [ebp + 0x278], 0
mov ecx, ebp
push 0
call fcn.0045a620
mov esi, dword [esp]
mov ecx, esi
push 0x19
call fcn.004fbdb0
cmp dword [esi + 0x60], 0x19
jne 0x4fd72e
mov ecx, esi
lea eax, [esp + 0x54]
push eax
call fcn.004fb460
jmp 0x4fd72e
lea edx, [esp + 0x53]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x53], 0
jne 0x4fde81
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
jmp 0x4fde89
lea esi, [esp + 0x53]
mov ecx, edx
push esi
push eax
call fcn.0044fcd0
cmp byte [esp + 0x53], 0
mov esi, dword [esp]
jne 0x4fdf4e
mov edi, dword [esp + 0x54]
jmp 0x4fdf50
mov dword [esp + 8], 0
mov dword [esp + 0x14], 1
cmp ebx, 0xfffff000
je 0x4fe4fc
xor ebx, 0xffffe000
mov esi, dword [esp + 8]
or ebx, esi
cmove esi, eax
mov dword [esp + 8], esi
mov eax, dword [esp + 0x14]
add ebp, eax
add eax, 1
mov dword [esp + 0x14], eax
and ebp, ecx
lea eax, [edx + ebp*8]
mov ebx, dword [edx + ebp*8]
cmp ebx, dword [esp + 4]
mov esi, dword [esp + 0x10]
je 0x4fe1e8
jmp 0x4fe4bc
mov ecx, dword [esp + 8]
test ecx, ecx
cmovne eax, ecx
mov edx, dword [esp + 0x10]
jmp 0x4fe1c7
push ebp
push ebx
push edi
push esi
sub esp, 0x12c
mov esi, ecx
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x128], eax
lea eax, [esp + 0x30]
push eax
call fcn.004fb460
cmp dword [esi + 0x60], 0xe
jne 0x4fe58a
lea edi, [esp + 0x40]
mov ecx, esi
push edi
call fcn.004fb460
lea ebp, [esp + 0xf0]
mov dword [esp + 0xe4], ebp
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 2
lea eax, [esp + 0xe4]
mov ecx, esi
push eax
call fcn.004fbe80
test al, al
je 0x4fe670
mov byte [esi + 0x21], 1
jmp 0x4fe988
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x35f
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
mov dword [esp], esi
jb 0x4fe5b4
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 0x4fe645
mov ebx, dword [edi + 0x274]
imul ebp, eax, 0x34
jmp 0x4fe61b
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + ebp - 0xc], 0
mov dword [ebx + ebp - 8], 0xf
mov byte [ebx + ebp - 0x1c], 0
add ebp, 0xffffffcc
je 0x4fe645
mov eax, dword [ebx + ebp - 8]
cmp eax, 0x10
jb 0x4fe601
mov ecx, dword [ebx + ebp - 0x1c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4fe5f7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4fe5f0
jmp 0x4fea30
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
lea eax, [esp + 0x40]
mov esi, dword [esp]
mov ecx, esi
push eax
call fcn.004fb460
mov byte [esi + 0x21], 1
jmp 0x4fea17
cmp dword [esi + 0x60], 0x15
mov dword [esp], esi
jne 0x4fe6d1
mov ebx, dword [esi + 0x68]
mov eax, dword [esi + 0x70]
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
test eax, eax
je 0x4fe7cd
cmp ebx, 0xf
jbe 0x4fe7ac
sub esp, 0xc
mov cl, byte [esp + 0x4c]
mov byte [esp + 4], cl
mov dword [esp + 8], eax
mov dword [esp], ebx
lea ecx, [esp + 0xd8]
call fcn.00404140
jmp 0x4fe7cd
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x64]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x35e
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4fe6f8
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 0x4fe786
mov ebp, dword [edi + 0x274]
imul ebx, eax, 0x34
jmp 0x4fe754
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebp + ebx - 0xc], 0
mov dword [ebp + ebx - 8], 0xf
mov byte [ebp + ebx - 0x1c], 0
add ebx, 0xffffffcc
je 0x4fe786
mov eax, dword [ebp + ebx - 8]
cmp eax, 0x10
jb 0x4fe73a
mov ecx, dword [ebp + ebx - 0x1c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4fe730
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fea30
add eax, 0x24
mov esi, eax
mov ecx, edx
jmp 0x4fe730
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov eax, dword [esp]
mov byte [eax + 0x21], 1
lea ebp, [esp + 0xf0]
jmp 0x4fe988
mov dword [esp + 0xdc], ebx
lea ecx, [esp + 0xcc]
push ebx
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esp + ebx + 0xcc], 0
mov ebx, dword [esp]
mov ecx, ebx
push edi
call fcn.004fb460
mov eax, dword [esp + 0xdc]
cmp dword [esp + 0xe0], 0xf
jbe 0x4fe7f2
mov ecx, dword [esp + 0xcc]
jmp 0x4fe7f9
lea ecx, [esp + 0xcc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x80
mov word [esp + 0x3c], 0x105
lea eax, [esp + 0x28]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push 2
push eax
call fcn.0042d4c0
add esp, 8
test al, al
je 0x4fe8df
mov eax, dword [ebx + 0x1c]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esp + 0x44]
add eax, ebx
cmp dword [esp + 0x48], eax
jae 0x4fe864
lea ecx, [esp + 0x40]
push 1
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00424880
test ebx, ebx
je 0x4fe87b
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
push ebx
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esp + 0x44], ebx
mov word [esp + 0x3c], 0x101
mov word [esp + 0x24], 0x101
mov word [esp + 0x18], 0x101
mov word [esp + 0xc], 0x104
lea eax, [esp + 0xcc]
mov dword [esp + 4], eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
lea edx, [esp + 4]
lea esi, [esp + 0x34]
push esi
push eax
push ecx
push edx
push edi
call fcn.0042c240
add esp, 0x14
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
lea ebp, [esp + 0xf0]
mov ebx, dword [esp]
jmp 0x4fe8eb
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
lea esi, [esp + 0x34]
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 8]
push 1
push 0
push edx
push eax
push esi
call fcn.00456b30
test byte [esp + 0x3c], 1
jne 0x4fe932
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax]
add ebx, 0x1c
mov edx, dword [esp + 0x34]
lea esi, [edx + 0x28]
test byte [eax + 0xa4], 4
cmovne esi, ebx
push dword [esp + 0x30]
push 0
push 0
push dword [esi]
push 0
push edx
call fcn.004f99f0
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x4c]
cmp eax, ecx
je 0x4fe948
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, dword [esp + 0xe0]
cmp eax, 0x10
jb 0x4fe988
mov ecx, dword [esp + 0xcc]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4fe97e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fea30
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x4fea09
lea ecx, [eax + eax*8]
lea edi, [ecx + ecx*2]
add edi, eax
jmp 0x4fe9d4
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, 0xffffffe4
je 0x4fea02
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4fe9ba
mov ecx, dword [esi + edi - 0x1c]
lea ebx, [eax + 1]
cmp ebx, 0x1000
jb 0x4fe9b0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4fea30
add eax, 0x24
mov ebx, eax
mov ecx, edx
jmp 0x4fe9b0
mov esi, dword [esp + 0xe4]
cmp esi, ebp
je 0x4fea17
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov ecx, dword [esp + 0x128]
xor ecx, esp
call fcn.00533ace
add esp, 0x12c
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3