Function at 0x4c2140
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov edi, dword [ebp + 0xc]
mov eax, dword [0x540010]
xor eax, ebp
mov dword [esp + 0xe8], eax
lea edx, [esp + 0xe0]
xor eax, eax
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx - 4], edx
lea ebx, [ecx + 0x1c]
mov dword [esp + 0xc], ecx
mov esi, dword [ecx + 0x18]
cmp esi, ebx
jne 0x4c276b
mov ebx, dword [edi]
add edi, 4
cmp ebx, edi
je 0x4c225e
lea esi, [esp + 0xdc]
jmp 0x4c27b0
lea eax, [esp + 0x80]
mov byte [eax + 0xb], 9
cmp eax, str.old_style
ja 0x4c21c1
lea ecx, [esp + 0x89]
cmp ecx, str.old_style
ja 0x4c2735
mov dword [esp + 0x84], 0x6c797473
mov dword [esp + 0x80], 0x5f646c6f
mov word [esp + 0x88], 0x65
lea edx, [esp + 0xd0]
mov dword [edx], eax
lea esi, [esp + 0x54]
lea edi, [esp + 0x60]
lea ecx, [esp + 0xdc]
push esi
push edx
push 0x521940
push eax
push edi
call fcn.004155d0
mov eax, dword [edi]
cmp byte [eax + 0x27], 0
js 0x4c2221
mov byte [eax + 0x27], 1
add eax, 0x1c
mov dword [eax], 0x31
jmp 0x4c2408
mov dword [eax + 0x20], 1
mov eax, dword [eax + 0x1c]
jmp 0x4c2216
push dword [esp + 0xd0]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x4c2371
push dword [esp + 0x80]
call fcn.004dfb35
add esp, 4
jmp 0x4c2371
mov eax, dword [esp + 0xc]
cmp dword [eax + 8], 0xffffffff
je 0x4c219c
mov eax, dword [eax + 4]
test eax, eax
je 0x4c2384
lea esi, [esp + 0x60]
push eax
push esi
call fcn.005103a0
add esp, 8
movzx eax, byte [esi + 0xb]
test al, al
jns 0x4c2295
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
test eax, eax
js 0x4c274a
je 0x4c22a7
test esi, esi
je 0x4c2743
lea ecx, [esp + 0x80]
push eax
push esi
push ecx
call fcn.004dba90
add esp, 0xc
lea eax, [esp + 0xd0]
mov byte [eax + 0xb], 6
cmp eax, str.target
ja 0x4c22de
lea ecx, [esp + 0xd6]
cmp ecx, str.target
ja 0x4c2735
movzx ecx, word [0x526c68]
mov word [esp + 0xd4], cx
mov ecx, dword [str.target]
mov dword [esp + 0xd0], ecx
mov byte [esp + 0xd6], 0
lea edx, [esp + 0x48]
mov dword [edx], eax
lea esi, [esp + 0x3c]
lea edi, [esp + 0x54]
lea ecx, [esp + 0xdc]
push esi
push edx
push 0x521940
push eax
push edi
call fcn.004155d0
mov eax, dword [edi]
lea esi, [eax + 0x1c]
cmp byte [eax + 0x27], 0
jns 0x4c233a
push dword [esi]
call fcn.004dfb35
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esi + 8], eax
movq xmm0, qword [esp + 0x80]
movq qword [esi], xmm0
mov byte [esp + 0x8b], 0
mov word [esp + 0x80], 0
cmp byte [esp + 0xdb], 0
js 0x4c222d
cmp byte [esp + 0x6b], 0
jns 0x4c2384
push dword [esp + 0x60]
call fcn.004dfb35
add esp, 4
lea eax, [esp + 0x80]
mov byte [eax + 0xb], 9
cmp eax, str.old_style
ja 0x4c23a9
lea ecx, [esp + 0x89]
cmp ecx, str.old_style
ja 0x4c2735
mov dword [esp + 0x84], 0x6c797473
mov dword [esp + 0x80], 0x5f646c6f
mov word [esp + 0x88], 0x65
lea edx, [esp + 0xd0]
mov dword [edx], eax
lea esi, [esp + 0x54]
lea edi, [esp + 0x60]
lea ecx, [esp + 0xdc]
push esi
push edx
push 0x521940
push eax
push edi
call fcn.004155d0
mov eax, dword [edi]
cmp byte [eax + 0x27], 0
js 0x4c2575
mov byte [eax + 0x27], 1
add eax, 0x1c
mov dword [eax], 0x30
cmp byte [esp + 0x8b], 0
jns 0x4c2421
push dword [esp + 0x80]
call fcn.004dfb35
add esp, 4
lea eax, [esp + 0x88]
mov byte [eax + 3], 8
lea edx, [esp + 0x80]
cmp edx, str.brand_id
ja 0x4c2446
cmp eax, str.brand_id
ja 0x4c2735
mov dword [esp + 0x84], 0x64695f64
mov dword [esp + 0x80], 0x6e617262
mov byte [esp + 0x88], 0
mov edi, dword [esp + 0xe0]
test edi, edi
je 0x4c24e2
lea ebx, [esp + 0xe0]
mov esi, ebx
lea eax, [edi + 0x10]
push edx
mov dword [esp + 0xc], eax
push eax
lea eax, [esp + 0x68]
push eax
call fcn.004156f0
lea edx, [esp + 0x8c]
add esp, 0xc
mov al, byte [esp + 0x60]
lea ecx, [edi + 4]
test al, al
cmovns ecx, edi
mov ebx, edi
mov edi, esi
cmovs ebx, esi
mov edi, dword [ecx]
test edi, edi
jne 0x4c2476
mov edi, dword [esp + 8]
lea ecx, [esp + 0xe0]
cmp ebx, ecx
je 0x4c24e2
add esi, 0x10
test al, al
cmovs edi, esi
push edi
push edx
lea eax, [esp + 0x68]
push eax
call fcn.004156f0
lea edx, [esp + 0x8c]
add esp, 0xc
cmp byte [esp + 0x60], 0
jns 0x4c24e9
lea ebx, [esp + 0xe0]
cmp byte [esp + 0x8b], 0
jns 0x4c2506
push dword [esp + 0x80]
mov esi, edx
call fcn.004dfb35
mov edx, esi
add esp, 4
lea edi, [esp + 0xe0]
cmp ebx, edi
je 0x4c2584
xor esi, esi
lea ebx, [esp + 0x80]
mov ecx, ebx
push 0x16a
push str.GetQueryUrl
push esi
call fcn.00455190
lea ecx, [esp + 0xbc]
push 0x535a0e
push str.InstallStatSender::Send:
call fcn.004147c0
mov ecx, ebx
call fcn.004553c0
mov dword [esp + 0xd8], esi
pxor xmm0, xmm0
movq qword [esp + 0xd0], xmm0
mov esi, dword [esp + 0xdc]
cmp esi, edi
je 0x4c2621
lea ebx, [esp + 0x60]
jmp 0x4c2c8e
mov dword [eax + 0x20], 1
mov eax, dword [eax + 0x1c]
jmp 0x4c2402
mov byte [esp + 0x8b], 8
cmp edx, str.brand_id
ja 0x4c25a6
lea eax, [esp + 0x88]
cmp eax, str.brand_id
ja 0x4c2735
mov eax, 0x64695f64
mov ecx, 0x6e617262
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov byte [esp + 0x88], 0
lea eax, [esp + 0xd0]
mov dword [eax], edx
mov ebx, edx
lea edx, [esp + 0x54]
lea esi, [esp + 0x60]
lea ecx, [esp + 0xdc]
push edx
push eax
push 0x521940
push ebx
push esi
call fcn.004155d0
mov ecx, dword [esi]
add ecx, 0x1c
push 7
push str.unknown
call fcn.004293b0
cmp byte [esp + 0x8b], 0
jns 0x4c2511
push dword [esp + 0x80]
call fcn.004dfb35
add esp, 4
jmp 0x4c2511
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x80]
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
mov dword [esi + 0x20], 0xffffffff
mov ecx, esi
mov eax, dword [esp + 0xc]
push dword [eax + 0x24]
call fcn.004d41b0
lea eax, [esp + 0xd0]
mov ecx, esi
push eax
call fcn.004d44f0
lea edi, [esp + 0x60]
mov ecx, esi
push edi
call fcn.004d4580
movzx eax, byte [edi + 0xb]
test al, al
jns 0x4c2675
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
test eax, eax
js 0x4c274a
je 0x4c2687
test edi, edi
je 0x4c2743
mov esi, dword [ebp + 8]
push eax
push edi
push esi
call fcn.004dba90
add esp, 0xc
cmp byte [esp + 0x6b], 0
jns 0x4c26a8
push dword [esp + 0x60]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0xa3], 0
jns 0x4c26c1
push dword [esp + 0x98]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x97], 0
jns 0x4c26da
push dword [esp + 0x8c]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x4c26f3
push dword [esp + 0x80]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0xdb], 0
jns 0x4c270c
push dword [esp + 0xd0]
call fcn.004dfb35
add esp, 4
lea ecx, [esp + 0xdc]
push dword [ecx + 4]
call fcn.00415580
mov ecx, dword [esp + 0xe8]
xor ecx, ebp
call fcn.004e0685
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
push str....._third_partylibc_srcinclude__stringchar_traits.h:245:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
jmp 0x4c274f
push str....._third_partylibc_srcinclude__stringchar_traits.h:322:_assertion__std::__is_pointer_in_range___s1____s1____n____s2__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
jmp 0x4c274f
push str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
jmp 0x4c274f
push str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
push 0x521354
call fcn.0044d640
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4c2759
mov esi, eax
cmp eax, ebx
je 0x4c2183
lea eax, [esi + 0x10]
lea ecx, [esp + 0xdc]
push eax
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.004c3290
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x4c2759
mov eax, dword [esi + 8]
cmp dword [eax], esi
mov esi, eax
jne 0x4c2793
jmp 0x4c2761
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4c279e
mov ebx, eax
cmp eax, edi
je 0x4c225e
lea eax, [ebx + 0x10]
mov ecx, esi
push eax
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.004c3290
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x4c279e
mov eax, dword [ebx + 8]
cmp dword [eax], ebx
mov ebx, eax
jne 0x4c27d3
jmp 0x4c27a6
mov word [ebx + eax], 0x5f
add eax, 2
cmp ecx, eax
je 0x4c27f4
cmp word [ebx + eax], 0x2c
jne 0x4c27e4
jmp 0x4c27de
mov dl, byte [esp + 0x8b]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], ecx
movzx edi, dl
test dl, dl
lea ebx, [esp + 0x80]
cmovs ebx, eax
mov ecx, edi
cmovs ecx, dword [esp + 8]
test ecx, ecx
je 0x4c285f
add ecx, ecx
xor eax, eax
jmp 0x4c283a
mov word [ebx + eax], 0x5f
add eax, 2
cmp ecx, eax
je 0x4c2843
cmp word [ebx + eax], 0x2d
jne 0x4c2833
jmp 0x4c282d
mov dl, byte [esp + 0x8b]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], ecx
movzx edi, dl
test dl, dl
lea ecx, [esp + 0x80]
cmovns eax, ecx
cmovs edi, dword [esp + 8]
test edi, edi
je 0x4c2890
add edi, edi
xor ecx, ecx
jmp 0x4c2887
mov word [eax + ecx], 0x5f
add ecx, 2
cmp edi, ecx
je 0x4c2890
cmp word [eax + ecx], 0x3d
jne 0x4c2880
jmp 0x4c287a
xor eax, eax
dec eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x77]
lea ecx, [esp + 0x6c]
test al, al
jns 0x4c28b4
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
test eax, eax
js 0x4c274a
je 0x4c28c6
test ecx, ecx
je 0x4c2743
push eax
push ecx
lea ebx, [esp + 0x5c]
push ebx
call fcn.00488750
add esp, 0xc
mov dl, byte [esp + 0x5f]
test dl, dl
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
cmovs ebx, eax
movzx edi, dl
mov ecx, edi
mov dword [esp + 8], esi
cmovs ecx, esi
test ecx, ecx
je 0x4c2925
add ecx, ecx
xor eax, eax
jmp 0x4c2909
mov word [ebx + eax], 0x5f
add eax, 2
cmp ecx, eax
je 0x4c2912
cmp word [ebx + eax], 0x2c
jne 0x4c2902
jmp 0x4c28fc
mov dl, byte [esp + 0x5f]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
movzx edi, dl
test dl, dl
lea ebx, [esp + 0x54]
cmovs ebx, eax
mov ecx, edi
cmovs ecx, dword [esp + 8]
test ecx, ecx
mov esi, dword [esp + 0x10]
je 0x4c296c
add ecx, ecx
xor eax, eax
jmp 0x4c2950
mov word [ebx + eax], 0x5f
add eax, 2
cmp ecx, eax
je 0x4c2959
cmp word [ebx + eax], 0x2d
jne 0x4c2949
jmp 0x4c2943
mov dl, byte [esp + 0x5f]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
movzx edi, dl
test dl, dl
lea ecx, [esp + 0x54]
cmovns eax, ecx
cmovs edi, dword [esp + 8]
test edi, edi
lea ebx, [esp + 0xe0]
je 0x4c29a1
add edi, edi
xor ecx, ecx
jmp 0x4c2998
mov word [eax + ecx], 0x5f
add ecx, 2
cmp edi, ecx
je 0x4c29a1
cmp word [eax + ecx], 0x3d
jne 0x4c2991
jmp 0x4c298b
movzx eax, byte [esp + 0xdb]
test al, al
mov edx, dword [esp + 0xd4]
mov ecx, eax
cmovs ecx, edx
test ecx, ecx
je 0x4c2a56
test al, al
js 0x4c29fa
mov edx, 4
lea ecx, [esp + 0xd0]
cmp eax, 4
jne 0x4c2a16
lea ecx, [esp + 0xd0]
push 0x527c1a
xor eax, eax
inc eax
push eax
push 0
push edx
push edx
push eax
push edx
call fcn.00478770
jmp 0x4c2a56
mov dword [esp + 0xd4], edx
jmp 0x4c2a4f
mov eax, dword [esp + 0xd8]
mov ecx, 0x7fffffff
and eax, ecx
dec eax
cmp eax, edx
je 0x4c29d4
mov ecx, dword [esp + 0xd0]
mov eax, edx
lea edx, [ecx + eax*2]
cmp edx, 0x527c1a
ja 0x4c2a33
lea edi, [ecx + eax*2]
add edi, 2
cmp edi, 0x527c1a
ja 0x4c273c
mov word [edx], 0x2c
lea edx, [eax + 1]
cmp byte [esp + 0xdb], 0
js 0x4c29f1
and dl, 0x7f
mov byte [esp + 0xdb], dl
mov word [ecx + eax*2 + 2], 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.0049a2d0
add esp, 8
lea eax, [esp + 0x80]
push eax
lea edi, [esp + 0x18]
push edi
call fcn.0049a2d0
add esp, 8
mov ecx, edi
push 1
push 0x522dda
xor edi, edi
push edi
call fcn.00478b40
movq xmm0, qword [eax]
movq qword [esp + 0x20], xmm0
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], ecx
mov dword [eax + 8], edi
pxor xmm0, xmm0
movq qword [eax], xmm0
movzx eax, byte [esp + 0x2b]
test al, al
js 0x4c2ae1
mov edx, 4
lea ecx, [esp + 0x20]
cmp eax, 4
jne 0x4c2af9
lea ecx, [esp + 0x20]
push 0x531f6c
xor eax, eax
inc eax
push eax
push 0
push edx
push edx
push eax
push edx
call fcn.00478770
jmp 0x4c2b33
mov dword [esp + 0x24], edx
jmp 0x4c2b2c
mov edx, dword [esp + 0x28]
mov eax, 0x7fffffff
and edx, eax
dec edx
mov eax, dword [esp + 0x24]
cmp edx, eax
je 0x4c2ac1
mov ecx, dword [esp + 0x20]
lea edx, [ecx + eax*2]
cmp edx, 0x531f6c
ja 0x4c2b16
lea edi, [ecx + eax*2]
add edi, 2
cmp edi, 0x531f6c
ja 0x4c273c
mov word [edx], 0x3d
lea edx, [eax + 1]
cmp byte [esp + 0x2b], 0
js 0x4c2adb
and dl, 0x7f
mov byte [esp + 0x2b], dl
mov word [ecx + eax*2 + 2], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x30], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movzx eax, byte [esp + 0x47]
test al, al
cmovs eax, dword [esp + 0x40]
mov edi, 0
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x3c]
cmovns edx, ecx
lea ecx, [esp + 0x30]
push eax
push edx
call fcn.00478d30
movq xmm0, qword [eax]
movq qword [esp + 0x48], xmm0
mov ecx, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov dword [eax + 8], edi
pxor xmm0, xmm0
movq qword [eax], xmm0
movzx eax, byte [esp + 0x53]
test al, al
cmovs eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x48]
cmovns edx, ecx
lea ecx, [esp + 0xd0]
push eax
push edx
call fcn.00478d30
cmp byte [esp + 0x53], 0
jns 0x4c2bcf
push dword [esp + 0x48]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x3b], 0
jns 0x4c2be2
push dword [esp + 0x30]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x2b], 0
jns 0x4c2bf5
push dword [esp + 0x20]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x1f], 0
jns 0x4c2c08
push dword [esp + 0x14]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x47], 0
jns 0x4c2c1b
push dword [esp + 0x3c]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x5f], 0
jns 0x4c2c2e
push dword [esp + 0x54]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x8b], 0
jns 0x4c2c47
push dword [esp + 0x80]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x77], 0
jns 0x4c2c5a
push dword [esp + 0x6c]
call fcn.004dfb35
add esp, 4
cmp byte [esp + 0x6b], 0
jns 0x4c2c6d
push dword [esp + 0x60]
call fcn.004dfb35
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4c2df9
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4c2c78
mov esi, eax
cmp eax, ebx
lea ebx, [esp + 0x60]
je 0x4c2621
xor eax, eax
dec eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
cmp byte [esi + 0x1b], 0
js 0x4c2de7
lea eax, [esi + 0x10]
mov ecx, dword [eax + 8]
mov dword [esp + 0x68], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x60], xmm0
cmp byte [esi + 0x27], 0
js 0x4c2dd3
lea eax, [esi + 0x1c]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x6c]
mov dword [edx + 8], ecx
movq xmm0, qword [eax]
movq qword [edx], xmm0
lea ecx, [esp + 0x80]
push 0x16d
push str.GetQueryUrl
push 0
call fcn.00455190
movzx eax, byte [esp + 0x6b]
mov edx, ebx
test al, al
jns 0x4c2d0b
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add eax, edx
lea edi, [esp + 0xbc]
mov ecx, edi
push eax
push edx
call fcn.004147c0
mov ecx, edi
push 0x525b14
push 0x525b13
call fcn.004147c0
lea ecx, [esp + 0x88]
lea eax, [esp + 0x6c]
push eax
call fcn.0041cb10
lea ecx, [esp + 0x80]
call fcn.004553c0
xor eax, eax
dec eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
movzx eax, byte [esp + 0x6b]
test al, al
jns 0x4c2d74
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
test eax, eax
js 0x4c274a
je 0x4c2d86
test ebx, ebx
je 0x4c2743
mov dword [esp + 0x10], esi
push eax
push ebx
lea ebx, [esp + 0x88]
push ebx
call fcn.004dba90
add esp, 0xc
mov dl, byte [esp + 0x8b]
test dl, dl
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
cmovs ebx, eax
movzx edi, dl
mov ecx, edi
mov dword [esp + 8], esi
cmovs ecx, esi
test ecx, ecx
je 0x4c2810
add ecx, ecx
xor eax, eax
jmp 0x4c27eb
lea ecx, [esp + 0x6c]
push dword [esi + 0x20]
push dword [esi + 0x1c]
call fcn.004890b0
jmp 0x4c2ce0
mov ecx, ebx
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.00477e60
jmp 0x4c2cc1
mov eax, dword [esi + 8]
cmp dword [eax], esi
mov esi, eax
jne 0x4c2df9
jmp 0x4c2c80