Function at 0x4c07b0
Capabilities:
Enumerate pe sections

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x4c07e0
test dword [0x87ed4c], 0xffffffff
jne 0x4c0f20
call fcn.007663a0
jmp fcn.004c07b0
push edi
push esi
push ebp
push ebx
sub esp, 0x28
mov ebx, eax
mov ebp, dword [ebx + 4]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c08c8
movzx eax, byte [ebx + 0xa]
inc dword [ebx + 0xc]
test eax, eax
jne 0x4c08c8
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x4c0cc7
push eax
mov dword [esp + 0x28], edx
call dword [0x8303cc]
mov edx, dword [esp + 0x28]
add esp, 4
test eax, eax
je 0x4c08bc
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x4c085c
mov edi, edx
movzx eax, byte [esi + 0xa]
test eax, eax
je 0x4c0853
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x4c084f
push eax
call dword [0x8303d0]
pop ecx
mov byte [esi + 0xa], 0
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4c0835
mov edx, edi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x4c087b
push eax
mov dword [esp + 0x28], edx
call dword [0x8303c8]
mov edx, dword [esp + 0x28]
add esp, 4
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov esi, dword [ebx + 0x14]
mov byte [ebx + 0xa], 1
test esi, esi
je 0x4c08c8
mov edi, edx
cmp dword [esi + 0xc], 0
je 0x4c08b1
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x30]
test eax, eax
je 0x4c08a8
push eax
call dword [0x8303c8]
pop ecx
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx + 4], eax
mov byte [esi + 0xa], 1
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4c088d
mov edx, edi
jmp 0x4c08c8
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [ecx + 4], eax
mov byte [ebx + 0xa], 1
movzx eax, byte [ebx + 8]
cmp eax, 2
je 0x4c0b3e
cmp eax, 1
jne 0x4c08e9
test edx, edx
jne 0x4c08e9
movzx ecx, byte [ebx + 9]
xor esi, esi
jmp 0x4c0c9a
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4c0903
test edx, edx
je 0x4c0914
movzx ecx, byte [ebx + 9]
mov esi, 8
jmp 0x4c0c9a
test edx, edx
je 0x4c0914
movzx eax, byte [ebp + 0x20]
cmp eax, 2
je 0x4c0b23
movzx eax, byte [ebp + 0x49]
test eax, eax
jne 0x4c0b23
cmp edx, 1
jle 0x4c093d
mov ecx, dword [ebp + 0x40]
test ecx, ecx
je 0x4c093d
mov eax, dword [ecx]
cmp eax, ebx
jne 0x4c0cd5
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x4c092c
mov esi, dword [ebx + 4]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c0976
cmp ebx, dword [esi + 0x44]
je 0x4c0955
movzx eax, byte [esi + 0x48]
test eax, eax
jne 0x4c097a
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4c0976
cmp ebx, dword [eax]
je 0x4c096f
cmp dword [eax + 4], 1
jne 0x4c096f
movzx esi, byte [eax + 8]
cmp esi, 1
jne 0x4c097a
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4c095c
xor esi, esi
jmp 0x4c097f
mov esi, 0x106
test esi, esi
jne 0x4c0c9a
cmp dword [ebp + 0xc], 0
je 0x4c0b00
mov dword [esp + 0x20], ebx
mov edi, edx
test esi, esi
jne 0x4c0aa2
test edi, edi
je 0x4c0a2f
movzx eax, byte [ebp + 0x10]
test eax, eax
jne 0x4c0a37
mov ecx, dword [esp + 0x20]
mov ebx, 1
mov esi, dword [ecx]
movzx eax, byte [esi + 0x1d]
cmp eax, 2
mov eax, 0
cmove eax, ebx
mov ebx, dword [ebp]
mov byte [ebx + 0x16], al
movzx eax, byte [ebx + 0xe]
cmp eax, 1
je 0x4c0e63
mov eax, dword [ebx + 0x3c]
cmp dword [eax], 0
je 0x4c09f0
mov eax, dword [ebx + 0x48]
or eax, dword [ebx + 0x4c]
je 0x4c09f4
xor esi, esi
jmp 0x4c0a0a
mov eax, ebx
call fcn.0057a510
mov esi, eax
test esi, esi
je 0x4c0a0a
mov eax, ebx
xor edx, edx
call fcn.00582d50
test esi, esi
jne 0x4c0a2b
mov eax, dword [ebp]
lea edx, [esp + 0x1c]
call fcn.0049e370
mov esi, eax
test esi, esi
jne 0x4c0a2b
cmp dword [esp + 0x1c], 0
jle 0x4c0cdc
test esi, esi
jne 0x4c0aa2
mov ebx, dword [esp + 0x20]
mov edx, edi
jmp 0x4c0a3e
mov esi, 8
jmp 0x4c0aa2
movzx ecx, byte [ebx + 8]
test ecx, ecx
jne 0x4c0a61
inc dword [ebp + 0x24]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c0a61
mov byte [ebx + 0x24], 1
mov ecx, dword [ebp + 0x40]
mov dword [ebx + 0x28], ecx
lea ecx, [ebx + 0x1c]
mov dword [ebp + 0x40], ecx
mov eax, 2
mov ecx, 1
test edx, edx
cmove eax, ecx
mov byte [ebx + 8], al
movzx ecx, byte [ebp + 0x20]
cmp eax, ecx
cmovge ecx, eax
mov byte [ebp + 0x20], cl
test edx, edx
je 0x4c0c96
mov dword [ebp + 0x44], ebx
mov eax, 1
cmp edx, 1
mov edx, 0
cmovg edx, eax
mov byte [ebp + 0x48], dl
jmp 0x4c0b4d
movzx eax, byte [ebp + 0x20]
test eax, eax
jne 0x4c0ace
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4c0ace
mov eax, dword [eax + 0x44]
test eax, eax
je 0x4c0ac7
mov ebx, dword [eax + 0x10]
call fcn.0057a950
mov eax, ebx
call fcn.0057aac0
mov dword [ebp + 0xc], 0
cmp esi, 5
jne 0x4c0eec
movzx eax, byte [ebp + 0x20]
test eax, eax
jne 0x4c0eec
mov eax, dword [ebp + 4]
add eax, 0x198
call fcn.00472b50
test eax, eax
je 0x4c0eec
cmp dword [ebp + 0xc], 0
jne 0x4c0aa2
jmp 0x4c0b06
mov dword [esp + 0x20], ebx
mov edi, edx
mov eax, ebp
call fcn.004c15d0
mov esi, eax
test esi, esi
jne 0x4c0997
cmp dword [ebp + 0xc], 0
jne 0x4c0997
jmp 0x4c0b06
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x4c093d
movzx ecx, byte [ebx + 9]
mov esi, 0x106
jmp 0x4c0c9a
test edx, edx
jne 0x4c0b4d
movzx ecx, byte [ebx + 9]
xor esi, esi
jmp 0x4c0c9a
mov ebp, dword [ebp]
mov eax, dword [ebx]
mov edi, dword [eax + 0x1cc]
mov esi, dword [ebp + 0x5c]
cmp edi, esi
jle 0x4c0b67
movzx eax, byte [ebp + 6]
test eax, eax
jne 0x4c0b6e
xor esi, esi
jmp 0x4c0c96
mov eax, dword [ebp + 0x58]
mov edx, edi
shl edx, 5
mov dword [esp + 0xc], edx
call fcn.0041cad0
test eax, eax
je 0x4c0f07
mov dword [esp + 8], eax
mov edx, esi
shl edx, 5
lea ecx, [eax + edx]
mov eax, dword [esp + 0xc]
sub eax, edx
push eax
push 0
push ecx
call fcn.00766740
mov eax, dword [esp + 0x14]
add esp, 0xc
mov dword [ebp + 0x58], eax
cmp esi, edi
mov dword [ebp + 0x5c], edi
jge 0x4c0c8d
mov dword [esp + 8], edi
mov ecx, esi
mov esi, eax
mov dword [esp + 0x20], ebx
mov edx, dword [ebp + 0x18]
mov ebx, ecx
shl ebx, 5
mov dword [ebx + esi + 0x14], edx
mov edi, dword [ebp + 0x3c]
cmp dword [edi], 0
je 0x4c0be8
mov eax, dword [ebp + 0x48]
mov edi, dword [ebp + 0x4c]
mov edx, edi
sub edx, 0
jl 0x4c0be8
or edx, eax
jne 0x4c0bed
mov eax, dword [ebp + 0x70]
xor edi, edi
mov dword [esi + ebx], eax
mov eax, 0x200
mov dword [esi + ebx + 4], edi
mov edx, dword [ebp + 0x30]
mov dword [ebx + esi + 0x18], edx
mov edi, dword [ebp + 0x18]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
call fcn.0041ebd4
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4c0c74
lea edi, [eax + 0xf]
and edi, 0xfffffff0
pxor xmm0, xmm0
xor edx, edx
movq qword [eax], xmm0
mov dword [eax + 8], edx
mov word [eax + 0xc], dx
mov byte [eax + 0xe], dl
mov edx, 0x1e0
movq qword [eax + 0x1f0], xmm0
movq qword [eax + 0x1f8], xmm0
movaps xmmword [edi + 0x1e0], xmm0
movaps xmmword [edi + edx - 0x10], xmm0
movaps xmmword [edi + edx - 0x20], xmm0
movaps xmmword [edi + edx - 0x30], xmm0
movaps xmmword [edi + edx - 0x40], xmm0
movaps xmmword [edi + edx - 0x50], xmm0
sub edx, 0x50
jne 0x4c0c4e
mov edx, dword [esp + 0xc]
mov dword [eax], edx
test eax, eax
mov dword [ebx + esi + 0x10], eax
je 0x4c0ef9
inc ecx
cmp ecx, dword [esp + 8]
jl 0x4c0bc3
mov ebx, dword [esp + 0x20]
mov eax, ebp
call fcn.0049c900
mov esi, eax
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c0cbd
mov edx, dword [ebx + 0xc]
dec edx
mov dword [ebx + 0xc], edx
jne 0x4c0cbd
mov edx, dword [ebx + 4]
mov edx, dword [edx + 0x30]
test edx, edx
je 0x4c0cb9
push edx
call dword [0x8303d0]
pop ecx
mov byte [ebx + 0xa], 0
mov eax, esi
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [ebx]
mov dword [ebp + 4], eax
mov byte [ebx + 0xa], 1
jmp 0x4c08c8
mov eax, dword [eax]
jmp 0x4c0b28
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
call fcn.00579000
mov esi, eax
test esi, esi
jne 0x4c0a2b
mov eax, dword [0x78d09c]
mov edx, dword [esp + 0x18]
mov dword [edx], eax
mov ecx, dword [0x78d0a0]
mov dword [edx + 4], ecx
mov ebx, dword [0x78d0a4]
mov dword [edx + 8], ebx
mov esi, dword [0x78d0a8]
mov dword [edx + 0xc], esi
movzx ebx, word [ebp + 0x14]
shr ebx, 8
pxor xmm0, xmm0
mov esi, edx
mov byte [esi + 0x10], bl
movzx eax, byte [ebp + 0x14]
mov byte [esi + 0x11], al
mov eax, 1
mov byte [esi + 0x12], al
mov byte [esi + 0x13], al
movzx ecx, word [ebp + 0x14]
movzx eax, word [ebp + 0x16]
sub ecx, eax
mov byte [esi + 0x14], cl
mov eax, 0x20
lea ecx, [esi + 0x27]
mov byte [esi + 0x15], 0x40
and ecx, 0xfffffff0
mov byte [esi + 0x16], al
mov byte [esi + 0x17], al
xor eax, eax
movq qword [esi + 0x18], xmm0
mov dword [esi + 0x20], 0
mov word [esi + 0x24], ax
mov byte [esi + 0x26], 0
movq qword [esi + 0x48], xmm0
movq qword [esi + 0x50], xmm0
movq qword [esi + 0x58], xmm0
mov dword [esi + 0x60], 0
movaps xmmword [ecx], xmm0
movaps xmmword [ecx + 0x10], xmm0
movaps xmmword [ecx + 0x20], xmm0
mov ebx, dword [esp + 0x14]
mov esi, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
movzx eax, byte [ebx + 5]
mov dword [esp + 0x10], ecx
lea ecx, [eax + 8]
mov dword [esp + 8], eax
mov byte [eax + esi], 0xd
mov dword [esp + 0xc], ecx
mov dword [esi + eax + 1], 0
mov ecx, eax
mov eax, dword [esp + 0x10]
mov byte [ecx + esi + 7], 0
mov edx, 0xd
movzx ebx, word [eax + 0x16]
shr ebx, 8
mov byte [ecx + esi + 5], bl
movzx ebx, byte [eax + 0x16]
mov byte [ecx + esi + 6], bl
movzx esi, word [eax + 0x16]
sub esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov word [eax + 0xe], si
call fcn.0049a610
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov byte [esi + 5], al
mov word [esi + 0xc], cx
mov ecx, dword [esp + 0x18]
mov byte [esi + 1], 0
movzx eax, word [ebx + 0x14]
dec eax
mov word [esi + 0x12], ax
xor eax, eax
mov word [esi + 0x10], ax
mov eax, 1
mov byte [esi], al
xor esi, esi
mov byte [ebp + 0x11], al
movzx eax, byte [ebp + 0x12]
mov byte [ecx + 0x34], 0
mov byte [ecx + 0x35], 0
mov byte [ecx + 0x36], 0
mov byte [ecx + 0x37], al
movzx eax, byte [ebp + 0x13]
mov byte [ecx + 0x40], 0
mov byte [ecx + 0x41], 0
mov byte [ecx + 0x42], 0
mov byte [ecx + 0x43], al
jmp 0x4c0a2b
mov eax, dword [ebx + 0x38]
push 2
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
add esp, 8
mov esi, eax
test esi, esi
jne 0x4c0ecb
mov byte [ebx + 0xe], 2
cmp edi, 1
jle 0x4c0ecb
mov eax, dword [ebx + 0x38]
push 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
add esp, 8
mov esi, eax
cmp esi, 5
jne 0x4c0ec3
mov dword [esp + 0x24], edi
push dword [ebx + 0x90]
call dword [ebx + 0x8c]
pop ecx
test eax, eax
je 0x4c0ebf
mov eax, dword [ebx + 0x38]
push 4
mov edx, dword [eax]
push eax
call dword [edx + 0x1c]
add esp, 8
mov esi, eax
cmp esi, 5
je 0x4c0e99
mov edi, dword [esp + 0x24]
test esi, esi
jne 0x4c0ecb
mov byte [ebx + 0xe], 4
test esi, esi
jne 0x4c0a01
movzx eax, byte [ebx + 5]
cmp eax, 2
je 0x4c0a0a
mov eax, ebx
call fcn.0057a510
jmp 0x4c09fb
mov ebx, dword [esp + 0x20]
movzx ecx, byte [ebx + 9]
jmp 0x4c0c9a
mov ebx, dword [esp + 0x20]
mov esi, 7
jmp 0x4c0c96
mov esi, 7
jmp 0x4c0c96
push edi
push esi
push ebp
push ebx
sub esp, 0x28
mov esi, edx
mov ebx, eax
mov ebp, dword [ebx + 4]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c0fee
inc dword [ebx + 0xc]
movzx eax, byte [ebx + 0xa]
test eax, eax
jne 0x4c0fee
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x4c13a3
push eax
call dword [0x8303cc]
pop ecx
test eax, eax
je 0x4c0fe2
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x4c0f90
movzx eax, byte [edi + 0xa]
test eax, eax
je 0x4c0f89
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x4c0f85
push eax
call dword [0x8303d0]
pop ecx
mov byte [edi + 0xa], 0
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4c0f6b
mov edx, dword [ebx + 4]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x4c0fa5
push eax
call dword [0x8303c8]
pop ecx
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [edx + 4], eax
mov byte [ebx + 0xa], 1
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x4c0fee
cmp dword [edi + 0xc], 0
je 0x4c0fd9
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x4c0fd0
push eax
call dword [0x8303c8]
pop ecx
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [edx + 4], eax
mov byte [edi + 0xa], 1
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4c0fb5
jmp 0x4c0fee
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov dword [edx + 4], eax
mov byte [ebx + 0xa], 1
movzx eax, byte [ebx + 8]
cmp eax, 2
je 0x4c125e
cmp eax, 1
jne 0x4c100f
test esi, esi
jne 0x4c100f
xor eax, eax
movzx ecx, byte [ebx + 9]
jmp 0x4c136e
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4c1029
test esi, esi
je 0x4c103a
mov eax, 8
movzx ecx, byte [ebx + 9]
jmp 0x4c136e
test esi, esi
je 0x4c103a
movzx eax, byte [ebp + 0x20]
cmp eax, 2
je 0x4c1243
movzx eax, byte [ebp + 0x49]
test eax, eax
jne 0x4c1243
cmp esi, 1
jle 0x4c1063
mov edx, dword [ebp + 0x40]
test edx, edx
je 0x4c1063
mov eax, dword [edx]
cmp eax, ebx
jne 0x4c13b1
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x4c1052
mov edx, dword [ebx + 4]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c109c
cmp ebx, dword [edx + 0x44]
je 0x4c107b
movzx eax, byte [edx + 0x48]
test eax, eax
jne 0x4c10a0
mov eax, dword [edx + 0x40]
test eax, eax
je 0x4c109c
cmp ebx, dword [eax]
je 0x4c1095
cmp dword [eax + 4], 1
jne 0x4c1095
movzx edx, byte [eax + 8]
cmp edx, 1
jne 0x4c10a0
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4c1082
xor eax, eax
jmp 0x4c10a5
mov eax, 0x106
test eax, eax
jne 0x4c136e
cmp dword [ebp + 0xc], 0
je 0x4c1222
mov dword [esp + 0x24], ebx
mov ebx, eax
test ebx, ebx
jne 0x4c11c4
test esi, esi
je 0x4c1159
movzx eax, byte [ebp + 0x10]
test eax, eax
jne 0x4c1161
mov edi, dword [esp + 0x24]
mov eax, dword [edi]
movzx ebx, byte [eax + 0x1d]
xor ecx, ecx
cmp ebx, 2
sete cl
mov edi, dword [ebp]
xor edx, edx
cmp esi, 1
setg dl
mov dword [esp + 0x20], edx
mov byte [edi + 0x16], cl
movzx edx, byte [edi + 0xe]
cmp edx, 1
je 0x4c1523
mov edx, dword [edi + 0x3c]
cmp dword [edx], 0
je 0x4c111a
mov edx, dword [edi + 0x48]
or edx, dword [edi + 0x4c]
je 0x4c111e
xor ebx, ebx
jmp 0x4c1134
mov eax, edi
call fcn.0057a510
mov ebx, eax
test ebx, ebx
je 0x4c1134
mov eax, edi
xor edx, edx
call fcn.00582d50
test ebx, ebx
jne 0x4c1155
mov eax, dword [ebp]
lea edx, [esp + 0x1c]
call fcn.0049e370
mov ebx, eax
test ebx, ebx
jne 0x4c1155
cmp dword [esp + 0x1c], 0
jle 0x4c13b8
test ebx, ebx
jne 0x4c11c4
mov eax, ebx
mov ebx, dword [esp + 0x24]
jmp 0x4c1168
mov ebx, 8
jmp 0x4c11c4
movzx ecx, byte [ebx + 8]
test ecx, ecx
jne 0x4c118b
inc dword [ebp + 0x24]
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c118b
mov byte [ebx + 0x24], 1
mov ecx, dword [ebp + 0x40]
mov dword [ebx + 0x28], ecx
lea edi, [ebx + 0x1c]
mov dword [ebp + 0x40], edi
mov ecx, 2
test esi, esi
jne 0x4c1199
mov ecx, 1
mov byte [ebx + 8], cl
movzx edi, byte [ebp + 0x20]
cmp ecx, edi
jge 0x4c11a6
mov ecx, edi
mov byte [ebp + 0x20], cl
test esi, esi
je 0x4c136a
mov dword [ebp + 0x44], ebx
xor eax, eax
cmp esi, 1
setg al
mov byte [ebp + 0x48], al
jmp 0x4c126d
movzx ecx, byte [ebp + 0x20]
test ecx, ecx
jne 0x4c11f0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4c11f0
mov eax, dword [ecx + 0x44]
test eax, eax
je 0x4c11e9
mov edi, dword [eax + 0x10]
call fcn.0057a950
mov eax, edi
call fcn.0057aac0
mov dword [ebp + 0xc], 0
cmp ebx, 5
jne 0x4c15a3
movzx ecx, byte [ebp + 0x20]
test ecx, ecx
jne 0x4c15a3
mov eax, dword [ebp + 4]
add eax, 0x198
call fcn.00472b50
test eax, eax
je 0x4c15a3
cmp dword [ebp + 0xc], 0
jne 0x4c11c4
jmp 0x4c1226
mov dword [esp + 0x24], ebx
mov eax, ebp
call fcn.004c15d0
mov ebx, eax
test ebx, ebx
jne 0x4c10bd
cmp dword [ebp + 0xc], 0
jne 0x4c10bd
jmp 0x4c1226
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
test eax, eax
je 0x4c1063
mov eax, 0x106
movzx ecx, byte [ebx + 9]
jmp 0x4c136e
test esi, esi
jne 0x4c126d
xor eax, eax
movzx ecx, byte [ebx + 9]
jmp 0x4c136e
mov edi, dword [ebp]
mov eax, dword [ebx]
mov esi, dword [eax + 0x1cc]
mov ebp, dword [edi + 0x5c]
cmp esi, ebp
jle 0x4c1287
movzx eax, byte [edi + 6]
test eax, eax
jne 0x4c128e
xor eax, eax
jmp 0x4c136a
mov edx, esi
shl edx, 5
mov dword [esp + 0xc], edx
mov eax, dword [edi + 0x58]
call fcn.0041cad0
test eax, eax
je 0x4c15c0
mov dword [esp + 8], eax
mov edx, ebp
shl edx, 5
lea ecx, [eax + edx]
mov eax, dword [esp + 0xc]
sub eax, edx
push eax
push 0
push ecx
call fcn.00766740
mov eax, dword [esp + 0x14]
add esp, 0xc
mov dword [edi + 0x58], eax
mov dword [edi + 0x5c], esi
cmp ebp, esi
jge 0x4c1363
mov dword [esp + 0xc], esi
mov dword [esp + 0x24], ebx
mov ebx, eax
mov esi, ebp
shl esi, 5
mov edx, dword [edi + 0x18]
mov dword [esi + ebx + 0x14], edx
mov ecx, dword [edi + 0x3c]
cmp dword [ecx], 0
je 0x4c1306
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
mov edx, ecx
sub edx, 0
jl 0x4c1306
or edx, eax
jne 0x4c130b
mov eax, dword [edi + 0x70]
xor ecx, ecx
mov dword [ebx + esi], eax
mov dword [ebx + esi + 4], ecx
mov edx, dword [edi + 0x30]
mov dword [esi + ebx + 0x18], edx
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x10], ecx
mov eax, 0x200
call fcn.0041ebd4
test eax, eax
je 0x4c134e
push 0x200
push 0
push eax
mov dword [esp + 0x14], eax
call fcn.00766740
mov eax, dword [esp + 0x14]
add esp, 0xc
mov edx, dword [esp + 0x10]
mov dword [eax], edx
test eax, eax
mov dword [esi + ebx + 0x10], eax
je 0x4c15b2
inc ebp
cmp ebp, dword [esp + 0xc]
jl 0x4c12e1
mov ebx, dword [esp + 0x24]
mov eax, edi
call fcn.0049c900
movzx ecx, byte [ebx + 9]
test ecx, ecx
je 0x4c139b
mov ecx, dword [ebx + 0xc]
dec ecx
mov dword [ebx + 0xc], ecx
jne 0x4c139b
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0x30]
test ecx, ecx
je 0x4c1397
push ecx
mov dword [esp + 0xc], eax
call dword [0x8303d0]
mov eax, dword [esp + 0xc]
add esp, 4
mov byte [ebx + 0xa], 0
add esp, 0x28
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [ebx]
mov dword [ebp + 4], eax
mov byte [ebx + 0xa], 1
jmp 0x4c0fee
mov eax, dword [eax]
jmp 0x4c1248
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x14], ecx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x18], edx
mov eax, dword [ecx + 0x44]
call fcn.00579000
mov ebx, eax
test ebx, ebx
jne 0x4c1155
mov eax, dword [0x78d09c]
mov edi, dword [esp + 0x18]
mov dword [edi], eax
mov edx, dword [0x78d0a0]
mov dword [edi + 4], edx
mov ecx, dword [0x78d0a4]
mov dword [edi + 8], ecx
mov ebx, dword [0x78d0a8]
mov dword [edi + 0xc], ebx
movzx edx, word [ebp + 0x14]
shr edx, 8
mov byte [edi + 0x10], dl
movzx ecx, byte [ebp + 0x14]
mov byte [edi + 0x11], cl
mov ebx, 1
mov byte [edi + 0x12], bl
mov byte [edi + 0x13], bl
movzx eax, word [ebp + 0x14]
movzx edx, word [ebp + 0x16]
sub eax, edx
mov byte [edi + 0x14], al
mov byte [edi + 0x15], 0x40
mov eax, 0x20
mov byte [edi + 0x16], al
mov byte [edi + 0x17], al
mov dword [edi + 0x60], 0
mov ecx, 0x48
xor eax, eax
mov edx, dword [esp + 0x18]
mov dword [edx + ecx + 0x14], eax
mov dword [edx + ecx + 0x10], eax
mov dword [edx + ecx + 0xc], eax
mov dword [edx + ecx + 8], eax
mov dword [edx + ecx + 4], eax
mov dword [edx + ecx], eax
sub ecx, 0x18
jne 0x4c1442
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0xc], ecx
movzx eax, byte [ebx + 5]
mov dword [esp + 0x10], eax
mov byte [eax + edx], 0xd
lea edi, [eax + 8]
mov dword [esp + 8], edi
mov dword [edx + eax + 1], 0
mov ecx, eax
mov byte [ecx + edx + 7], 0
mov edi, dword [esp + 0xc]
movzx ebx, word [edi + 0x16]
shr ebx, 8
mov byte [ecx + edx + 5], bl
movzx ebx, byte [edi + 0x16]
mov byte [ecx + edx + 6], bl
movzx edx, word [edi + 0x16]
sub edx, dword [esp + 8]
mov eax, dword [esp + 0x14]
mov word [eax + 0xe], dx
mov edx, 0xd
call fcn.0049a610
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov byte [edi + 5], bl
mov edx, dword [esp + 8]
mov word [edi + 0xc], dx
xor edx, edx
mov byte [edi + 1], dl
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx + 0x14]
dec ecx
mov word [edi + 0x12], cx
mov word [edi + 0x10], dx
mov eax, 1
mov byte [edi], al
mov byte [ebp + 0x11], al
movzx ecx, byte [ebp + 0x12]
mov edi, dword [esp + 0x18]
mov byte [edi + 0x34], dl
mov byte [edi + 0x35], dl
mov byte [edi + 0x36], dl
mov byte [edi + 0x37], cl
movzx ecx, byte [ebp + 0x13]
mov byte [edi + 0x40], dl
mov byte [edi + 0x41], dl
mov byte [edi + 0x42], dl
mov byte [edi + 0x43], cl
xor ebx, ebx
jmp 0x4c1155
mov edx, dword [edi + 0x38]
mov ecx, dword [edx]
push 2
push edx
call dword [ecx + 0x1c]
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x4c1582
mov byte [edi + 0xe], 2
cmp dword [esp + 0x20], 0
je 0x4c1582
mov edx, dword [edi + 0x38]
mov ecx, dword [edx]
push 4
push edx
call dword [ecx + 0x1c]
add esp, 8
mov ebx, eax
cmp ebx, 5
jne 0x4c157a
push dword [edi + 0x90]
call dword [edi + 0x8c]
pop ecx
test eax, eax
je 0x4c157a
mov eax, dword [edi + 0x38]
mov edx, dword [eax]
push 4
push eax
call dword [edx + 0x1c]
add esp, 8
mov ebx, eax
jmp 0x4c1552
test ebx, ebx
jne 0x4c1582
mov byte [edi + 0xe], 4
test ebx, ebx
jne 0x4c112b
movzx ecx, byte [edi + 5]
cmp ecx, 2
je 0x4c1134
mov eax, edi
call fcn.0057a510
jmp 0x4c1125
mov eax, ebx
mov ebx, dword [esp + 0x24]
movzx ecx, byte [ebx + 9]
jmp 0x4c136e
mov ebx, dword [esp + 0x24]
mov eax, 7
jmp 0x4c136a
mov eax, 7
jmp 0x4c136a