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

Disassembly:
sub esp, 0x194
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
push edi
cmp byte [ebp + 0x8ea], bl
je 0x4c46ef
push ebx
call fcn.0048aa40
mov eax, dword [ebp + 0xcb4]
mov ecx, dword [ebp + 0x80]
add esp, 4
cmp eax, ecx
jle 0x4c3928
mov edi, dword [ebp + 0xc90]
sub eax, ecx
mov esi, 0x18
mov dword [ebp + 0xcb4], eax
sub esi, eax
lea eax, [esp + 0x30]
mov ecx, esi
push eax
shl ecx, 4
add ecx, edi
mov dword [ebp + 0xdf8], ebx
push ecx
call fcn.0047c7f0
shl esi, 5
mov eax, 0x2aaaaaab
add esp, 8
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [0x660f80], edx
mov dword [0x60f76c], edx
jmp 0x4c39c9
mov esi, dword [ebp + 0xce4]
mov dword [ebp + 0xcb4], ebx
cmp esi, ecx
jle 0x4c395a
mov eax, dword [ebp + 0xc90]
sub esi, ecx
mov edx, 0x18
lea ecx, [esp + 0x30]
sub edx, esi
push ecx
shl edx, 4
add edx, eax
mov dword [ebp + 0xce4], esi
push edx
jmp 0x4c38fb
cmp esi, ebx
je 0x4c39b8
mov eax, dword [ebp + 0x188]
mov dword [ebp + 0xce4], ebx
cmp eax, ebx
mov byte [ebp + 0x8ea], bl
je 0x4c3984
mov word [eax + 0xc], bx
mov word [eax + 0xe], bx
mov word [eax + 0x24], bx
mov word [eax + 0x26], bx
mov eax, dword [ebp + 0xc90]
mov dword [0x660f80], ebx
cmp eax, ebx
mov dword [0x60f76c], ebx
je 0x4c46ef
push eax
call fcn.00458210
add esp, 4
mov dword [ebp + 0xc90], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
lea esi, [ebp + 0x164]
mov ecx, 8
lea edi, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
call fcn.004c6aa0
mov esi, dword [0x6a8d44]
mov ecx, eax
sub ecx, esi
cmp cx, 0x200
jle 0x4c39e9
sub ecx, 0x1000
jmp 0x4c39f6
cmp cx, 0xfe00
jge 0x4c39f6
add ecx, 0x1000
mov word [0x6a8d44], ax
mov eax, dword [ebp + 0xcb4]
cmp eax, ebx
jne 0x4c3a41
mov al, byte [ebp + 0x8e9]
mov edx, dword [0x6a7ffc]
cmp al, bl
movsx eax, cx
je 0x4c3a2b
mov ecx, dword [0x6a8d54]
add edx, eax
mov dword [0x6a7ffc], edx
add ecx, eax
jmp 0x4c3a3b
mov ecx, dword [0x6a8d54]
sub edx, eax
mov dword [0x6a7ffc], edx
sub ecx, eax
mov dword [0x6a8d54], ecx
mov eax, dword [ebp + 0xce4]
mov edi, dword [0x6a818c]
cmp eax, ebx
jne 0x4c3a9c
mov esi, dword [ebp + 0x188]
cmp esi, ebx
je 0x4c3afe
lea eax, [edi + edi]
cdq
and edx, 3
add eax, edx
mov edx, dword [0x6a7ffc]
mov ecx, eax
lea eax, [edx + edx]
cdq
and edx, 3
add eax, edx
sar ecx, 2
sar eax, 2
and ecx, 0xfff
and eax, 0xfff
mov word [esi + 0xc], cx
mov word [esi + 0xe], ax
mov word [esi + 0x24], cx
mov word [esi + 0x26], ax
jmp 0x4c3afe
mov ecx, dword [ebp + 0x188]
cmp ecx, ebx
je 0x4c3afe
mov si, word [ecx + 0xc]
movsx eax, si
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, eax
mov word [ecx + 0xc], si
mov si, word [ecx + 0xe]
movsx eax, si
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, eax
mov word [ecx + 0xe], si
mov si, word [ecx + 0x24]
movsx eax, si
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, eax
mov word [ecx + 0x24], si
mov si, word [ecx + 0x26]
movsx eax, si
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, eax
mov word [ecx + 0x26], si
mov ax, word [0x6a7ffc]
lea ecx, [esp + 0x164]
lea edx, [esp + 0x50]
push ecx
push edx
mov word [esp + 0x58], di
mov word [esp + 0x5a], ax
mov word [esp + 0x5c], bx
call fcn.0046e730
mov ecx, dword [0x6a82b4]
mov eax, dword [0x6a818c]
add esp, 8
lea edx, [ecx + 0xc0]
cmp eax, edx
jle 0x4c3b45
lea ecx, [eax - 0xc0]
jmp 0x4c3b55
lea edx, [ecx - 0xc0]
cmp eax, edx
jge 0x4c3b5b
lea ecx, [eax + 0xc0]
mov dword [0x6a82b4], ecx
mov eax, dword [0x6a8d54]
mov edx, dword [0x6a7ffc]
lea esi, [eax + 0xc0]
cmp edx, esi
jle 0x4c3b78
lea eax, [edx - 0xc0]
jmp 0x4c3b88
lea esi, [eax - 0xc0]
cmp edx, esi
jge 0x4c3b8d
lea eax, [edx + 0xc0]
mov dword [0x6a8d54], eax
cmp dword [ebp + 0xce4], ebx
jne 0x4c3bd7
mov word [esp + 0x52], ax
mov word [esp + 0x50], cx
lea eax, [esp + 0x184]
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.0046e730
lea edx, [esp + 0x18c]
lea eax, [esp + 0x38]
push edx
push eax
call fcn.0046d0e0
lea ecx, [ebp + 0xcd4]
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.0047c8e0
add esp, 0x18
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x36]
mov edx, dword [esp + 0x3c]
neg eax
neg ecx
mov word [esp + 0x30], ax
mov word [esp + 0x36], cx
mov eax, dword [esp + 0x34]
neg edx
mov word [esp + 0x3c], dx
mov ecx, dword [esp + 0x3a]
mov edx, dword [esp + 0x40]
neg eax
mov word [esp + 0x34], ax
mov eax, dword [0x56f3b8]
neg ecx
mov word [esp + 0x3a], cx
add eax, 0x1f4
lea ecx, [esp + 0x30]
push eax
neg edx
push ecx
mov word [esp + 0x48], dx
call fcn.0047c8e0
lea esi, [ebp + 0xd0c]
lea eax, [ebp + 8]
push esi
lea edx, [esp + 0x64]
push eax
push edx
call fcn.004e7720
mov edx, eax
lea ecx, [ebp + 0xd00]
mov edi, dword [edx]
mov dword [ecx], edi
mov edi, dword [edx + 4]
mov dword [ecx + 4], edi
mov edi, dword [ebp + 8]
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x90], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], edi
mov edi, dword [ebp + 0x10]
lea eax, [esp + 0x90]
mov dword [esp + 0xa8], ebx
push eax
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov word [esp + 0x10c], bx
mov word [esp + 0x10e], bx
mov word [esp + 0x110], bx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], edx
call fcn.004524c0
lea ecx, [esp + 0x94]
push 1
push ecx
call fcn.004549a0
mov eax, dword [esp + 0x104]
add esp, 0x20
cmp eax, ebx
je 0x4c3db7
mov eax, dword [esp + 0xbc]
cmp eax, 0x10
jge 0x4c3d4d
lea eax, [ebp + 8]
mov edx, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x24], edx
jmp 0x4c3db7
lea eax, [eax + eax*2]
lea ecx, [esp + 0x2c]
cdq
and edx, 3
push ecx
add eax, edx
lea edx, [esp + 0x2c]
sar eax, 2
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x30], eax
push edx
lea eax, [esp + 0x60]
push esi
push eax
call fcn.004e77a0
add esp, 0xc
lea ecx, [esp + 0x130]
push eax
push ecx
call fcn.004e7800
push eax
lea eax, [ebp + 8]
lea edx, [esp + 0x148]
push eax
push edx
call fcn.004e7720
mov ecx, dword [eax]
add esp, 0x18
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xcb4]
mov dword [esp + 0x10], ebx
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
je 0x4c3e8c
movsx ecx, word [ebp + 0x168]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
shl ecx, 9
add ecx, edx
lea esi, [ebp + 0xcb8]
movsx edx, word [ebp + 0x16e]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], 0x18
movsx ecx, word [ebp + 0x174]
shl edx, 9
add edx, edi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x24]
shl ecx, 9
add ecx, edx
mov edx, 0x18
sub edx, eax
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x28]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edx
push eax
push ecx
lea edx, [esp + 0x18]
push esi
lea eax, [esp + 0x144]
push edx
push eax
call fcn.004e7760
add esp, 0xc
lea ecx, [esp + 0x134]
push eax
push ecx
call fcn.004e77a0
add esp, 0xc
lea edx, [esp + 0x124]
push eax
push edx
call fcn.004e7800
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x64]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x6c], edx
lea edx, [esp + 0x130]
mov eax, dword [eax + 8]
push esi
mov dword [esp + 0x74], eax
push edx
jmp 0x4c3f16
mov eax, dword [ebp + 0xce4]
cmp eax, ebx
je 0x4c3f32
mov ecx, 0x18
lea edx, [esp + 0x28]
sub ecx, eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], ecx
lea esi, [ebp + 0xce8]
push edx
push eax
lea ecx, [ebp + 0xcf4]
push esi
lea edx, [esp + 0x12c]
push ecx
push edx
mov dword [esp + 0x3c], 0x18
call fcn.004e7760
add esp, 0xc
push eax
lea eax, [esp + 0x144]
push eax
call fcn.004e77a0
add esp, 0xc
lea ecx, [esp + 0x130]
push eax
push ecx
call fcn.004e7800
mov edx, dword [eax]
mov dword [esp + 0x64], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x12c]
mov edx, dword [eax + 8]
lea eax, [esp + 0x64]
push eax
push esi
mov dword [esp + 0x74], edx
push ecx
call fcn.004e7720
mov edx, eax
add esp, 0x18
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x14], ecx
mov edx, dword [edx + 8]
jmp 0x4c3f68
movsx eax, word [esp + 0x34]
movsx edx, word [esp + 0x3a]
shl eax, 9
mov ecx, eax
mov eax, dword [esp + 0x1c]
sub eax, ecx
mov ecx, dword [esp + 0x20]
shl edx, 9
sub ecx, edx
mov dword [esp + 0x10], eax
movsx edx, word [esp + 0x40]
shl edx, 9
mov esi, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
sub edx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x7c]
mov dword [esp + 0x18], edx
push eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], edx
call fcn.004524c0
lea ecx, [esp + 0x80]
push 1
push ecx
call fcn.004549a0
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xcc]
add esp, 0xc
cmp eax, ebx
je 0x4c4011
movsx eax, word [esp + 0x34]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
shl eax, 4
add eax, ecx
mov edi, dword [esp + 0xf0]
movsx ecx, word [esp + 0x3a]
shl ecx, 4
add ecx, edx
mov dword [esp + 0x10], eax
movsx edx, word [esp + 0x40]
shl edx, 4
add edx, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
add esi, 0xfffffff0
jmp 0x4c401d
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
movsx edi, word [esp + 0x30]
shl edi, 4
mov dword [esp + 0x7c], eax
add edi, eax
movsx eax, word [esp + 0x36]
shl eax, 4
mov dword [esp + 0x80], ecx
add eax, ecx
movsx ecx, word [esp + 0x3c]
shl ecx, 4
mov dword [esp + 0x84], edx
add ecx, edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x88], edi
push edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
call fcn.004524c0
lea eax, [esp + 0x80]
push 1
push eax
call fcn.004549a0
mov eax, dword [esp + 0xf0]
add esp, 0xc
cmp eax, ebx
je 0x4c40ca
sub esi, 8
cmp esi, 0x10
jle 0x4c417c
movsx ecx, word [esp + 0x34]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x14]
movsx ecx, word [esp + 0x3a]
mov dword [esp + 0x10], eax
lea ecx, [edx + ecx*8]
movsx edx, word [esp + 0x40]
mov dword [esp + 0x14], ecx
lea edx, [edi + edx*8]
mov dword [esp + 0x18], edx
jmp 0x4c401d
movsx eax, word [esp + 0x30]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
neg eax
shl eax, 5
add ecx, eax
mov edi, dword [esp + 0x90]
mov dword [esp + 0x88], ecx
lea eax, [esp + 0x7c]
movsx ecx, word [esp + 0x36]
neg ecx
shl ecx, 5
add edx, ecx
push eax
mov dword [esp + 0x90], edx
movsx edx, word [esp + 0x40]
neg edx
shl edx, 5
add edi, edx
mov dword [esp + 0x94], edi
call fcn.004524c0
lea ecx, [esp + 0x80]
push 1
push ecx
call fcn.004549a0
mov eax, dword [esp + 0xf0]
add esp, 0xc
cmp eax, ebx
je 0x4c417c
sub esi, 8
cmp esi, 0x10
jle 0x4c417c
movsx edx, word [esp + 0x34]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
movsx ecx, word [esp + 0x3a]
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
lea ecx, [edx + ecx*8]
movsx edx, word [esp + 0x40]
mov dword [esp + 0x14], ecx
lea edx, [edi + edx*8]
mov dword [esp + 0x18], edx
jmp 0x4c401d
mov eax, dword [ebp + 0xce4]
mov ecx, dword [esp + 0x10]
cmp eax, ebx
jne 0x4c41a4
mov esi, dword [esp + 0x14]
lea edx, [ebp + 0xce8]
mov dword [ebp + 0xce8], ecx
mov dword [edx + 4], esi
mov esi, dword [esp + 0x18]
mov dword [edx + 8], esi
mov edx, dword [0x56f3b8]
add edx, 8
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [edx + 8], ecx
mov ecx, dword [ebp + 0xcb4]
cmp ecx, ebx
jne 0x4c46ef
cmp eax, ebx
jne 0x4c46ef
lea edx, [esp + 0x164]
lea esi, [ebp + 0x164]
mov ecx, 8
lea edi, [esp + 0x144]
lea eax, [esp + 0x144]
push edx
rep movsd dword es:[edi], dword [esi]
push eax
mov byte [ebp + 0xde4], 1
call fcn.0046d0e0
movsx ecx, word [esp + 0x150]
mov edx, dword [esp + 0x24]
push 0x1000
movsx eax, word [esp + 0x15a]
shl ecx, 0xc
sub edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], edx
push ebx
movsx edx, word [esp + 0x164]
shl eax, 0xc
sub ecx, eax
mov eax, dword [esp + 0x34]
shl edx, 0xc
mov dword [esp + 0x78], ecx
mov ecx, dword [0x56e990]
sub eax, edx
lea edx, [esp + 0x80]
mov dword [esp + 0x7c], eax
push ecx
lea eax, [esp + 0x78]
push edx
lea ecx, [esp + 0x34]
push eax
push ecx
mov dword [ebp + 0xdcc], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
call fcn.00452c30
add esp, 0x20
cmp eax, ebx
mov dword [ebp + 0xdcc], eax
je 0x4c42b2
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
test byte [eax + 0x46], 0x10
jne 0x4c42b2
mov dword [ebp + 0xdcc], ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x7c]
mov dword [esp + 0x8c], ecx
push eax
mov dword [esp + 0x94], edx
mov dword [0x5fbee4], 1
call fcn.004524c0
lea ecx, [esp + 0x80]
push 1
push ecx
call fcn.004549a0
mov esi, dword [esp + 0xf0]
add esp, 0xc
cmp esi, ebx
mov dword [0x5fbee4], ebx
je 0x4c465b
movsx eax, word [esp + 0xf6]
movsx ecx, word [esp + 0xf8]
movsx edx, word [esp + 0xf4]
mov dword [ebp + 0xda4], eax
mov eax, dword [esp + 0xe8]
lea edi, [ebp + 0xdc0]
mov dword [ebp + 0xda8], ecx
mov ecx, dword [esp + 0xec]
mov dword [ebp + 0xda0], edx
mov edx, dword [esp + 0xf0]
mov dword [edi], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
mov dword [edi + 4], ecx
mov dword [esp + 0x20], ecx
mov dword [ebp + 0xdcc], ebx
mov dword [ebp + 0xde8], 0x202080
mov dword [edi + 8], edx
mov edx, dword [esp + 0xfc]
test dword [edx + 0xc], 0x2000000
je 0x4c43d9
push esi
call fcn.004d1490
mov ecx, dword [eax + 0x100]
add esp, 4
cmp ecx, ebx
je 0x4c43d9
pop edi
mov dword [ebp + 0xdcc], eax
mov dword [ebp + 0xde8], 0x802020
mov byte [ebp + 0x54f], bl
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
lea eax, [esp + 0x7c]
push 0x800
push eax
mov ecx, ebp
call fcn.004c30d0
cmp al, bl
mov esi, 0x208020
je 0x4c4521
lea ecx, [esp + 0x7c]
mov dword [ebp + 0xde8], esi
push ecx
mov ecx, ebp
call fcn.004c31d0
cmp al, bl
jne 0x4c4535
cmp byte [ebp + 0x54f], bl
je 0x4c452d
cmp dword [ebp + 0xe1c], 1
jne 0x4c452d
movsx edx, word [esp + 0xf4]
movsx eax, word [esp + 0xf6]
movsx ecx, word [esp + 0xf8]
mov dword [ebp + 0xda0], edx
mov dword [ebp + 0xda4], eax
mov eax, dword [ebp + 8]
lea edx, [ebp + 0x558]
mov dword [ebp + 0xda8], ecx
mov ecx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0xe1c], 0x40000
mov byte [ebp + 0x8ed], 1
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov al, byte [ebp + 0xad4]
cmp al, bl
je 0x4c44b9
mov eax, dword [0x6a86c8]
cmp eax, ebx
mov dword [ebp + 0x350], eax
je 0x4c44af
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4c44af
and ecx, 0xffff
mov dword [eax], ecx
mov ecx, dword [eax + 4]
add eax, 4
cmp ecx, 0xffffffff
jne 0x4c449c
push 0xffffffffffffffff
push ebx
push 0x104
jmp 0x4c44ea
mov eax, dword [0x6a86a0]
cmp eax, ebx
mov dword [ebp + 0x350], eax
je 0x4c44e2
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4c44e2
and ecx, 0xffff
mov dword [eax], ecx
mov ecx, dword [eax + 4]
add eax, 4
cmp ecx, 0xffffffff
jne 0x4c44cf
push 0xffffffffffffffff
push ebx
push 0xfa
mov ecx, ebp
call fcn.00460c10
push ebx
mov ecx, ebp
call fcn.004c6aa0
mov edx, dword [0x6a7ffc]
mov ecx, ebp
add eax, edx
push eax
call fcn.004c6970
mov ecx, ebp
call fcn.004c3810
pop edi
mov byte [ebp + 0x54f], bl
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebp
call fcn.004c31d0
cmp al, bl
je 0x4c46e9
mov al, byte [ebp + 0x54f]
mov dword [ebp + 0xde8], esi
cmp al, bl
je 0x4c46e9
cmp dword [ebp + 0xe1c], 1
jne 0x4c46e9
mov edi, dword [ebp + 0xe64]
push str.Error
cmp edi, ebx
sete dl
push edx
call fcn.004015b0
mov eax, dword [0x6a86fc]
add esp, 8
cmp eax, ebx
mov dword [ebp + 0xe1c], 0x100
mov byte [ebp + 0x8ed], 1
mov dword [ebp + 0x350], eax
je 0x4c45a9
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x4c45a9
and ecx, 0xffff
mov dword [eax], ecx
mov ecx, dword [eax + 4]
add eax, 4
cmp ecx, 0xffffffff
jne 0x4c4596
push 0xffffffffffffffff
push ebx
push 0x111
mov ecx, ebp
call fcn.00460c10
cmp byte [ebp + 0xad4], bl
jne 0x4c4616
push ebx
mov ecx, ebp
call fcn.004c6aa0
mov edx, dword [0x6a7ffc]
mov ecx, ebp
add eax, edx
push eax
call fcn.004c6970
mov ecx, dword [0x60d9d0]
mov edx, dword [0x60d9d4]
lea eax, [ebp + 0xdac]
mov byte [ebp + 0xad4], bl
mov dword [eax], ecx
mov ecx, dword [0x60d9d8]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, ebp
call fcn.004c3810
pop edi
mov byte [ebp + 0x54f], bl
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ebp + 0xdb4], ecx
mov ecx, ebp
mov dword [ebp + 0xdac], edx
mov dword [ebp + 0xdb0], eax
mov byte [ebp + 0xad4], bl
call fcn.004c3810
pop edi
mov byte [ebp + 0x54f], bl
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov esi, dword [ebp + 0xdcc]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
cmp esi, ebx
mov dword [ebp + 0xdc0], edx
mov dword [ebp + 0xdc4], eax
mov dword [ebp + 0xdc8], ecx
je 0x4c46df
push 1
mov byte [ebp + 0xde4], bl
call fcn.0048aa40
add esi, 8
mov edx, dword [0x6b4ca8]
and edx, 0x7f
shl edx, 5
push edx
push 0x18
push esi
call fcn.0048aa50
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
add esp, 0x10
mov dword [ebp + 0xdc0], eax
mov dword [ebp + 0xdc4], ecx
pop edi
mov dword [ebp + 0xdc8], edx
mov byte [ebp + 0x54f], bl
pop esi
pop ebp
pop ebx
add esp, 0x194
ret
mov dword [ebp + 0xde8], 0x202080
mov byte [ebp + 0x54f], bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x194
ret