Function at 0x45a460
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [esp + 0xd0]
mov byte [esp + 0x20], 0
mov ebp, dword [ebx + 0xf4]
lea eax, [ebp + 0x14]
mov dword [ebx + 0xf4], eax
mov edi, dword [ebx]
xor esi, esi
mov word [ebp + 8], si
test byte [edi + 0x38], 1
je 0x45a504
cmp byte [ebx + 0x18], 0
jne 0x45b0d0
cmp byte [ebx + 8], 0
jne 0x45a738
mov eax, ebx
call sym.__cpp_get_fresh_line.part.0
test al, al
je 0x45a738
mov eax, dword [ebx]
movzx esi, byte [esp + 0x20]
xor edx, edx
cmp eax, edi
cmovne esi, edx
mov edx, esi
mov byte [esp + 0x20], dl
mov edx, dword [ebx + 0x110]
test edx, edx
jne 0x45a4ef
mov ebp, dword [ebx + 0x100]
lea edx, [ebx + 0xf8]
mov dword [ebx + 0x108], edx
lea edx, [ebp + 0x14]
mov dword [ebx + 0xf4], edx
mov edi, 0x40
mov word [ebp + 8], di
cmp byte [ebx + 0x11], 2
mov edi, eax
je 0x45a808
mov esi, ebx
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [ebp], eax
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
mov eax, dword [edi]
cmp eax, dword [edx + ecx*8]
jae 0x45a548
lea ecx, [eax + 1]
mov dword [edi], ecx
movzx edx, byte [eax]
mov eax, dword [esi + 0x378]
mov dword [esp + 0x24], edx
mov ebx, edx
test eax, eax
je 0x45a570
mov dword [ebp], eax
cmp bl, 0x3f
ja case.default.0x45a53c
jmp dword [edx*4 + 0x55d428]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45a51c
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.__cpp_process_line_notes
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [ebp], eax
mov eax, dword [edi]
jmp 0x45a51c
sub ecx, dword [edi + 4]
mov dword [esp + 0x28], edx
mov dword [esp + 4], ecx
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call sym.linemap_position_for_column_line_maps__unsigned_int_
mov edx, dword [esp + 0x28]
mov dword [ebp], eax
cmp bl, 0x3f
jbe switch.0x0045a53c
mov ecx, ebx
mov ebx, esi
mov esi, edx
cmp cl, 0x5a
jbe 0x45a5b8
sub ecx, 0x5b
cmp cl, 0x23
ja case.0x45a5ac.1
movzx ecx, cl
jmp dword [ecx*4 + 0x55d528]
sub ecx, 0x40
mov eax, 1
shl eax, cl
test eax, 0x7dbeffe
je 0x45a760
mov edx, dword [edi]
lea eax, [ebp + 0x10]
lea esi, [esp + 0x48]
mov byte [ebp + 4], 0x36
sub edx, 1
mov dword [esp + 4], eax
xor ecx, ecx
mov eax, ebx
mov dword [esp], esi
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call sym.lex_identifier_cpp_reader__unsigned_char_const__bool__normalize_state__cpp_hashnode_
mov edx, dword [esp + 0x50]
mov dword [ebp + 0xc], eax
cmp dword [ebx + 0x2d4], edx
jge 0x45a625
cmp byte [ebx + 0xa], 0
jne 0x45a625
mov eax, ebx
mov ecx, esi
mov edx, ebp
call sym.warn_about_normalization_cpp_reader__cpp_token_const__normalize_state_const___clone_.part.0_
mov eax, dword [ebp + 0xc]
test byte [eax + 0xe], 1
je 0x45a639
movzx eax, byte [eax + 0xc]
or word [ebp + 8], 0x10
shr al, 1
mov byte [ebp + 4], al
cmp byte [esp + 0x20], 0
je 0x45a648
or word [ebp + 8], 0x20
lea esi, [esi]
cmp dword [ebp], 1
jbe 0x45a74c
cmp byte [ebp + 4], 0x16
je 0x45a74c
lea esi, [esi]
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x18]
mov eax, dword [edi]
cmp eax, dword [edx + ecx*8]
jb 0x45a678
mov edx, dword [ebx + 4]
test edx, edx
je 0x45af80
sub eax, dword [edi + 4]
mov esi, dword [ebp]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call sym.linemap_position_for_column_line_maps__unsigned_int_
mov edx, dword [ebp]
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call sym.get_combined_adhoc_loc_line_maps__unsigned_int__source_range__void_
mov dword [ebp], eax
add esp, 0xbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, esi
mov esi, edx
mov eax, dword [edi]
lea ecx, [esp + 0x48]
mov edx, 1
sub eax, 1
mov dword [edi], eax
mov dword [esp + 0x20], eax
mov eax, ebx
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call sym.forms_identifier_p_cpp_reader__int__normalize_state_
test al, al
jne 0x45af02
mov eax, dword [edi]
add eax, 1
mov dword [edi], eax
cmp esi, 0xbf
ja 0x45b35e
mov esi, dword [esp + 0x20]
mov byte [ebp + 4], 0x3e
sub eax, esi
mov dword [ebp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.cpp_alloc_token_string_cpp_reader__unsigned_char_const__unsigned_int_
mov dword [ebp + 0x10], eax
jmp 0x45a648
mov byte [ebp + 4], 0x16
cmp byte [ebx + 8], 0
jne 0x45a74c
cmp byte [ebx + 0x11], 0
je 0x45af58
add esp, 0xbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, 0x241000
je 0x45af40
mov edx, dword [edi]
cmp esi, 0x4c
je 0x45a795
cmp byte [ebx + 0x29a], 0
jne 0x45b176
cmp esi, 0x52
je 0x45a5cf
cmp byte [ebx + 0x298], 0
je 0x45a5cf
movzx eax, byte [edx]
cmp al, 0x27
je 0x45a7f0
cmp al, 0x22
je 0x45a7f0
cmp al, 0x52
jne 0x45a7ad
cmp esi, 0x52
jne 0x45b6e0
cmp esi, 0x75
jne 0x45a5cf
cmp al, 0x38
jne 0x45a5cf
movzx eax, byte [edx + 1]
cmp al, 0x22
je 0x45a7f0
cmp al, 0x27
je 0x45bb6a
cmp al, 0x52
jne 0x45a5cf
cmp byte [edx + 2], 0x22
jne 0x45a5cf
cmp byte [ebx + 0x29a], 0
je 0x45a5cf
lea esi, [esi]
lea ecx, [edx - 1]
mov eax, ebx
mov edx, ebp
call sym.lex_string_cpp_reader__cpp_token__unsigned_char_const_
jmp 0x45a648
mov esi, 0x41
mov word [ebp + 8], si
mov esi, ebx
jmp 0x45a506
mov ebx, esi
mov byte [esp + 0x4c], 0
mov eax, ebx
lea edx, [ebp + 0xc]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov byte [ebp + 4], 0x38
call sym.lex_number_cpp_reader__cpp_string__normalize_state___clone_.constprop.0_
mov eax, dword [esp + 0x50]
cmp dword [ebx + 0x2d4], eax
jge 0x45a648
cmp byte [ebx + 0xa], 0
jne 0x45a648
lea ecx, [esp + 0x48]
mov edx, ebp
mov eax, ebx
call sym.warn_about_normalization_cpp_reader__cpp_token_const__normalize_state_const___clone_.part.0_
jmp 0x45a648
mov ebx, dword [esi]
xor ecx, ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], edi
or word [ebp + 8], 1
mov edi, ecx
mov eax, dword [ebx]
jmp 0x45a8f8
cmp byte [esi + 8], 0
je 0x45a8e0
cmp byte [esi + 0x2b2], 0
je 0x45a8e0
cmp edx, 0xc
mov ecx, str.form_feed
mov edx, str.vertical_tab
mov dword [esp + 0x10], str._s_in_preprocessing_directive
cmove edx, ecx
mov dword [esp + 0x14], edx
sub eax, dword [ebx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], 2
mov dword [esp], esi
mov dword [esp + 8], eax
call sym.cpp_error_with_line_cpp_reader__cpp_diagnostic_level__unsigned_int__unsigned_int__char_const__..._
mov eax, dword [ebx]
nop
lea ecx, [eax + 1]
mov dword [ebx], ecx
movzx edx, byte [eax]
test byte [edx + edx + 0x568981], 8
je 0x45afa0
mov eax, ecx
cmp edx, 0x20
je 0x45a8e0
cmp edx, 9
je 0x45a8e0
test edx, edx
jne 0x45a890
mov edi, 1
jmp 0x45a8e0
mov eax, dword [edi]
mov edx, ebp
mov ebx, esi
lea ecx, [eax - 1]
mov eax, esi
call sym.lex_string_cpp_reader__cpp_token__unsigned_char_const_
jmp 0x45a648
mov byte [ebp + 4], 0xe
lea esi, [esi]
cmp dword [ebp], 1
ja 0x45a660
add esp, 0xbc
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov byte [ebp + 4], 0x2a
jmp 0x45a930
mov byte [ebp + 4], 0x2b
jmp 0x45a930
mov byte [ebp + 4], 0x29
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 0xb
cmp byte [eax], 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x23
jmp 0x45a930
mov byte [ebp + 4], 0x28
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 0xa
movzx edx, byte [eax]
cmp dl, 0x7c
je 0x45b15a
cmp dl, 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x22
jmp 0x45a930
mov edx, dword [edi]
mov byte [ebp + 4], 0x31
mov ebx, esi
movzx ecx, byte [edx]
test byte [ecx + ecx + 0x568980], 4
jne 0x45a822
cmp cl, 0x2e
je 0x45b338
cmp cl, 0x2a
jne 0x45a930
cmp byte [esi + 0x290], 0
je 0x45a930
add edx, 1
mov dword [edi], edx
mov byte [ebp + 4], 0x34
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 2
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x3d
je 0x45b168
cmp dl, 0x3e
jne 0x45a930
lea edx, [eax + 1]
mov dword [edi], edx
mov byte [ebp + 4], 0xc
cmp byte [eax + 1], 0x3d
jne 0x45a930
add eax, 2
mov dword [edi], eax
mov byte [ebp + 4], 0x24
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 0
mov ebx, esi
cmp byte [eax], 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x17
jmp 0x45a930
cmp byte [esi + 0xb], 0
mov eax, dword [edi]
mov ebx, esi
jne 0x45b190
mov byte [ebp + 4], 3
movzx edx, byte [eax]
cmp dl, 0x3d
je 0x45b1ad
cmp dl, 0x3c
je 0x45b3da
cmp byte [ebx + 0x296], 0
je 0x45a930
cmp dl, 0x3a
je 0x45b6ef
cmp dl, 0x25
jne 0x45a930
add eax, 1
mov dword [edi], eax
or word [ebp + 8], 2
mov byte [ebp + 4], 0x2a
jmp 0x45a930
mov byte [ebp + 4], 0x2c
mov ebx, esi
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 0x12
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x3a
je 0x45b0e7
cmp dl, 0x3e
jne 0x45a930
cmp byte [esi + 0x296], 0
je 0x45a930
add eax, 1
mov dword [edi], eax
or word [ebp + 8], 2
mov byte [ebp + 4], 0x29
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 0x26
mov ebx, esi
cmp byte [eax], 0x23
jne 0x45ab56
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x27
mov dword [ebp + 0xc], 0
jmp 0x45a648
mov byte [ebp + 4], 0x13
mov ebx, esi
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 4
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x2b
je 0x45b102
cmp dl, 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x1c
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 6
mov ebx, esi
cmp byte [eax], 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x1e
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 1
mov ebx, esi
cmp byte [eax], 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x18
jmp 0x45a930
mov eax, dword [edi + 0x10]
mov ebx, esi
cmp dword [edi], eax
jb 0x45ac08
cmp byte [esi + 8], 1
jbe 0x45ac3c
cmp byte [esi + 0x2b8], 0
jne 0x45ac3c
mov esi, dword [ebx + 0x1c]
mov eax, dword [esi + 8]
sub eax, 1
imul eax, eax, 0x1c
add eax, dword [esi]
mov dword [esp + 8], 0
movzx ecx, byte [eax + 0xc]
mov edx, dword [esi + 0x2c]
sub edx, dword [eax]
mov eax, dword [eax + 0x14]
mov dword [esp], esi
shr edx, cl
lea eax, [edx + eax + 1]
mov dword [esp + 4], eax
call sym.linemap_line_start_line_maps__unsigned_int__unsigned_int_
or byte [edi + 0x38], 1
cmp byte [ebx + 0x18], 0
je 0x45a485
and word [ebp + 8], 0xfffe
mov byte [ebp + 4], 0x53
cmp byte [ebx + 0x1a], 0
mov byte [ebx + 0x18], 0
jne 0x45a74c
sub byte [ebx + 0x10], 1
jmp 0x45a74c
mov byte [ebp + 4], 0x11
mov ebx, esi
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 5
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x3e
je 0x45b12c
cmp dl, 0x2d
je 0x45b350
cmp dl, 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x1d
jmp 0x45a930
mov byte [ebp + 4], 0x14
mov ebx, esi
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 9
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x26
je 0x45b110
cmp dl, 0x3d
jne 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x21
jmp 0x45a930
mov byte [ebp + 4], 0x15
mov ebx, esi
jmp 0x45a930
mov eax, dword [edi]
mov byte [ebp + 4], 8
mov ebx, esi
movzx edx, byte [eax]
cmp dl, 0x3d
je 0x45b11e
cmp byte [esi + 0x296], 0
je 0x45a930
cmp dl, 0x3a
je 0x45b418
cmp dl, 0x3e
jne 0x45a930
add eax, 1
mov dword [edi], eax
or word [ebp + 8], 2
mov byte [ebp + 4], 0x2b
jmp 0x45a930
mov eax, dword [edi]
mov dword [esp + 0x24], eax
movzx eax, byte [eax]
mov dword [esp + 0x2c], eax
cmp eax, 0x2a
je 0x45b3a4
cmp dword [esp + 0x2c], 0x2f
jne 0x45bb23
cmp byte [esi + 0x2b8], 0
jne 0x45b9b2
mov ebx, dword [esi]
test ebx, ebx
je 0x45ad8a
cmp byte [ebx + 0x39], 0
jne 0x45adf8
mov eax, dword [esi + 0x28c]
test eax, eax
jne 0x45b1f0
cmp byte [esi + 0x2b2], 0
je 0x45adab
test byte [edi + 0x38], 2
je 0x45b77a
cmp byte [esi + 0x2da], 0
jle 0x45adf8
cmp byte [esi + 0x290], 0
jne 0x45adf8
test byte [edi + 0x38], 2
je 0x45b744
sub eax, 5
cmp eax, 1
ja 0x45adf8
mov eax, dword [esp + 0x24]
cmp byte [eax + 1], 0x2a
je 0x45b9b2
test dword [esi + 8], 0xff00ff
jne 0x45b9b2
test byte [edi + 0x38], 2
je 0x45b71d
lea esi, [esi]
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
movzx edx, byte [eax]
test byte [esi + 0x2dd], 3
je 0x45b0b0
cmp dl, 0xa
je 0x45ae60
add eax, 1
jmp 0x45ae2d
mov dword [ebx], eax
movzx edx, byte [eax]
add eax, 1
cmp dl, 0xa
je 0x45ae60
cmp dl, 0xe2
jne 0x45ae20
mov eax, dword [ebx]
movzx ecx, byte [eax]
mov edx, eax
cmp cl, 0xa
je 0x45ae59
cmp cl, 0xe2
je 0x45b7f4
mov ecx, eax
lea edx, [eax + 1]
mov dword [ebx], edx
movzx ecx, byte [ecx + 1]
mov eax, edx
cmp cl, 0xa
jne 0x45ae3e
mov eax, esi
call sym.maybe_warn_bidi_on_close_cpp_reader__unsigned_char_const_
mov dword [esp + 4], 1
mov dword [esp], esi
call sym.__cpp_process_line_notes
mov eax, dword [esi + 0x1c]
mov edx, dword [esp + 0x28]
cmp edx, dword [eax + 0x2c]
je 0x45ae89
cmp byte [esi + 0x29d], 0
jne 0x45b3fb
mov eax, dword [esi]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
movzx eax, byte [esi + 0x2a8]
lea ebx, [edx + 1]
cmp al, 2
je 0x45b20f
ja 0x45b018
cmp al, 1
movzx edx, byte [esp + 0x20]
mov eax, 1
cmove edx, eax
mov byte [esp + 0x20], dl
mov edx, dword [esi + 0x274]
test edx, edx
je 0x45aeee
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
sub eax, ecx
add eax, 1
mov dword [esp + 0xc], eax
lea eax, [ecx - 1]
mov dword [esp + 8], eax
mov eax, dword [ebp]
mov dword [esp], esi
mov dword [esp + 4], eax
call edx
cmp byte [esi + 0xd], 0
jne 0x45b9d1
or word [ebp + 8], 1
jmp 0x45a506
lea eax, [ebp + 0x10]
mov byte [ebp + 4], 0x36
mov edx, dword [esp + 0x20]
mov ecx, 1
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
mov eax, ebx
call sym.lex_identifier_cpp_reader__unsigned_char_const__bool__normalize_state__cpp_hashnode_
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x50]
cmp dword [ebx + 0x2d4], eax
jge 0x45a648
jmp 0x45a859
test al, 1
je case.0x45a5ac.1
mov byte [ebp + 4], 0x35
jmp 0x45a930
mov eax, dword [ebx + 0x1c]
mov ecx, 0x40
mov eax, dword [eax + 0x2c]
mov word [ebp + 8], cx
mov dword [ebp], eax
mov dword [esp], ebx
call sym.__cpp_pop_buffer
jmp 0x45a74c
mov dword [esp + 4], 0
mov dword [esp], ebx
call sym.__cpp_process_line_notes
mov eax, dword [edi]
jmp 0x45a678
mov ecx, edi
mov edi, dword [esp + 0x28]
test cl, cl
jne 0x45afb1
mov dword [ebx], eax
jmp 0x45a50f
mov dword [esp], esi
call sym._cpp_diagnostic_get_current_location
mov dword [esp + 8], 0
lea ecx, [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call method.rich_location.rich_location_line_maps__unsigned_int__range_label_const_
sub esp, 0xc
lea ecx, [esp + 0x48]
mov dword [esp + 0xc], str.null_character_s__ignored
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], esi
mov byte [esp + 0x83], 1
call sym.cpp_error_at_cpp_reader__cpp_diagnostic_level__rich_location__char_const__..._
lea ecx, [esp + 0x48]
call method.rich_location.rich_location__
mov eax, dword [ebx]
sub eax, 1
mov dword [ebx], eax
jmp 0x45a50f
lea edx, [eax - 3]
cmp dl, 1
ja 0x45aebe
mov edx, dword [esp + 0x24]
movzx ecx, byte [edx + 1]
cmp cl, 0x40
sete byte [esp + 0x30]
cmp cl, 0x2d
sete dl
or byte [esp + 0x30], dl
je 0x45b45a
mov edx, dword [esp + 0x28]
mov eax, ebx
not eax
add eax, dword [edx]
cmp eax, 0xa
jbe 0x45aebe
mov edx, dword [esp + 0x24]
cmp dword [edx + 2], 0x6c6c6166
jne 0x45aebe
cmp dword [edx + 6], 0x6f726874
jne 0x45aebe
cmp word [edx + 0xa], 0x6775
jne 0x45aebe
cmp byte [edx + 0xc], 0x68
jne 0x45aebe
mov eax, 0xc
cmp cl, 0x40
je 0x45b9bd
add eax, ebx
mov edx, dword [esp + 0x24]
cmp byte [edx], 0x2a
je 0x45b9a0
cmp byte [eax], 0xa
jmp 0x45aead
cmp dl, 0xa
je 0x45ae60
add eax, 1
lea esi, [esi]
mov dword [ebx], eax
add eax, 1
cmp byte [eax - 1], 0xa
jne 0x45b0c0
jmp 0x45ae60
mov byte [ebp + 4], 0x53
cmp byte [ebx + 0x1a], 0
mov byte [ebx + 0x18], 0
jne 0x45a74c
jmp 0x45ac61
cmp byte [esi + 0x2c1], 0
je 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x32
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x2e
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0xf
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x20
jmp 0x45a930
lea edx, [eax + 1]
mov dword [edi], edx
mov byte [ebp + 4], 0x30
cmp byte [eax + 1], 0x2a
jne 0x45a930
cmp byte [esi + 0x290], 0
je 0x45a930
add eax, 2
mov dword [edi], eax
mov byte [ebp + 4], 0x33
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x10
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x19
jmp 0x45a930
movzx eax, byte [edx]
cmp al, 0x27
jne 0x45a79c
cmp esi, 0x52
je 0x45a5cf
jmp 0x45a7f0
lea ecx, [eax - 1]
mov edx, ebp
mov eax, esi
call sym.lex_string_cpp_reader__cpp_token__unsigned_char_const_
cmp byte [ebp + 4], 3
jne 0x45a648
mov eax, dword [edi]
jmp 0x45aa9e
lea edx, [eax + 1]
mov dword [edi], edx
mov byte [ebp + 4], 0x1a
cmp byte [eax + 1], 0x3e
jne 0x45a930
cmp byte [ebx + 0x290], 0
je 0x45a930
cmp dword [ebx + 0x28c], 0x12
jle 0x45a930
add eax, 2
mov dword [edi], eax
mov byte [ebp + 4], 0x1b
jmp 0x45a930
cmp byte [esi + 0x2da], 0
jle 0x45adc7
cmp byte [esi + 0x290], 0
jne 0x45adc7
jmp 0x45adbd
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov eax, edx
sub eax, ebx
cmp eax, 7
jbe 0x45aebe
mov dword [esp + 0x30], edi
mov edi, edx
jmp 0x45b240
add ebx, 1
mov eax, edi
sub eax, ebx
cmp eax, 7
jbe 0x45b3d1
movzx eax, byte [ebx]
and eax, 0xffffffdf
cmp al, 0x46
jne 0x45b230
movzx eax, byte [ebx + 1]
and eax, 0xffffffdf
cmp al, 0x41
jne 0x45b230
movzx eax, byte [ebx + 2]
and eax, 0xffffffdf
cmp al, 0x4c
jne 0x45b230
movzx eax, byte [ebx + 3]
and eax, 0xffffffdf
cmp al, 0x4c
jne 0x45b230
movzx eax, byte [ebx + 4]
mov edx, eax
and edx, 0xffffffdf
cmp dl, 0x53
jne 0x45b330
movzx eax, byte [ebx + 5]
add ebx, 5
cmp al, 0x20
sete cl
cmp al, 9
sete dl
or dl, cl
je 0x45b2ad
lea esi, [esi]
movzx eax, byte [ebx + 1]
add ebx, 1
cmp al, 9
sete dl
cmp al, 0x20
sete cl
or dl, cl
jne 0x45b298
cmp al, 0x2d
je 0x45b298
and eax, 0xffffffdf
cmp al, 0x54
jne 0x45b230
movzx eax, byte [ebx + 1]
and eax, 0xffffffdf
cmp al, 0x48
jne 0x45b230
movzx eax, byte [ebx + 2]
and eax, 0xffffffdf
cmp al, 0x52
jne 0x45b230
movzx eax, byte [ebx + 3]
and eax, 0xffffffdf
cmp al, 0x55
je 0x45b31a
cmp al, 0x4f
jne 0x45b230
movzx eax, byte [ebx + 4]
and eax, 0xffffffdf
cmp al, 0x55
jne 0x45b230
movzx eax, byte [ebx + 5]
and eax, 0xffffffdf
cmp al, 0x47
jne 0x45b230
movzx eax, byte [ebx + 6]
and eax, 0xffffffdf
cmp al, 0x48
jne 0x45b230
mov byte [esp + 0x20], 1
mov edi, dword [esp + 0x30]
jmp 0x45aebe
add ebx, 4
jmp 0x45b284
cmp byte [edx + 1], 0x2e
jne 0x45a930
add edx, 2
mov dword [edi], edx
mov byte [ebp + 4], 0x2d
jmp 0x45a930
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x2f
jmp 0x45a930
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call sym.__cpp_valid_utf8
test al, al
jne 0x45b44f
mov eax, dword [edi]
jmp 0x45a70f
mov dword [esp], esi
call sym.__cpp_skip_block_comment
test al, al
je 0x45ae89
mov dword [esp + 8], str.unterminated_comment
mov dword [esp + 4], 3
mov dword [esp], esi
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__..._
jmp 0x45ae89
mov edi, dword [esp + 0x30]
jmp 0x45aebe
lea edx, [eax + 1]
mov dword [edi], edx
mov byte [ebp + 4], 0xd
cmp byte [eax + 1], 0x3d
jne 0x45a930
add eax, 2
mov dword [edi], eax
mov byte [ebp + 4], 0x25
jmp 0x45a930
mov dword [esp + 8], str.multi_line_comment
mov dword [esp + 4], 2
mov dword [esp], esi
call sym.cpp_warning_cpp_reader__cpp_warning_reason__char_const__..._
jmp 0x45ae89
lea edx, [eax + 1]
mov dword [edi], edx
or word [ebp + 8], 2
mov byte [ebp + 4], 0x26
cmp byte [eax + 1], 0x25
jne 0x45a930
cmp byte [eax + 2], 0x3a
jne 0x45a930
add eax, 3
mov dword [edi], eax
mov byte [ebp + 4], 0x27
mov dword [ebp + 0xc], 0
jmp 0x45a930
mov eax, dword [esp + 0x40]
mov dword [edi], eax
jmp 0x45a70f
cmp cl, 0x6c
je 0x45b798
cmp cl, 9
sete dl
cmp al, 4
je 0x45b8c8
lea eax, [ecx - 0x20]
cmp al, 1
jbe 0x45b488
cmp cl, 0x2e
sete al
or al, dl
je 0x45b4a6
lea esi, [esi]
movzx ecx, byte [ebx + 1]
add ebx, 1
cmp cl, 9
sete al
cmp cl, 0x2e
sete dl
or al, dl
jne 0x45b488
lea eax, [ecx - 0x20]
cmp al, 1
jbe 0x45b488
mov eax, ecx
and eax, 0xffffffdf
cmp al, 0x45
jne 0x45b823
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
sub eax, ebx
cmp eax, 0xc
jbe 0x45aebe
lea edx, [ebx + 1]
cmp cl, 0x45
je 0x45bbb9
mov dword [esp + 8], 3
mov dword [esp + 4], 0x55d401
mov dword [esp], edx
mov byte [esp + 0x34], cl
call sym._memcmp
movzx ecx, byte [esp + 0x34]
test eax, eax
jne 0x45aebe
cmp byte [ebx + 4], 0x2c
je 0x45bd01
lea eax, [ebx + 4]
cmp byte [eax], 0x20
jne 0x45aebe
lea ebx, [eax + 1]
movzx eax, byte [eax + 1]
cmp byte [esp + 0x30], 0
mov byte [esp + 0x38], al
je 0x45b52d
cmp al, 0x66
je 0x45aebe
cmp cl, 0x65
je 0x45bd39
movzx edx, byte [esp + 0x38]
mov eax, edx
and eax, 0xffffffdf
cmp al, 0x46
jne 0x45aebe
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
sub eax, ebx
cmp eax, 7
jbe 0x45aebe
cmp dl, 0x46
je 0x45bcc2
cmp byte [esp + 0x30], 0
jne 0x45aebe
lea eax, [ebx + 1]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x55d423
mov dword [esp], eax
call sym._memcmp
test eax, eax
jne 0x45aebe
lea eax, [ebx + 4]
mov edx, 0x73
mov dword [esp + 0x34], eax
movzx eax, byte [ebx + 4]
mov ecx, eax
cmp edx, eax
je 0x45bd55
cmp cl, 0x2d
je 0x45bcb6
cmp cl, 0x20
je 0x45bcb6
cmp byte [esp + 0x30], 1
sbb edx, edx
and edx, 0x20
add edx, 0x54
cmp edx, eax
jne 0x45aebe
cmp byte [esp + 0x38], 0x66
je 0x45b5e9
mov eax, dword [esp + 0x34]
cmp byte [eax], 0x54
je 0x45bd09
cmp byte [esp + 0x30], 0
jne 0x45aebe
mov eax, dword [esp + 0x34]
cmp byte [eax], 0x74
jne 0x45aebe
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x34]
mov eax, 0x55d2e9
cmp ebx, 3
jbe 0x45aebe
mov edx, dword [esp + 0x34]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
lea ecx, [edx + 1]
mov dword [esp], ecx
mov dword [esp + 0x38], ecx
call sym._memcmp
test eax, eax
je 0x45bd49
cmp ebx, 6
jbe 0x45aebe
cmp byte [esp + 0x30], 0
mov eax, str.HROUGH
mov ecx, dword [esp + 0x38]
mov edx, str.hrough
cmove eax, edx
mov dword [esp + 8], 6
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym._memcmp
test eax, eax
jne 0x45aebe
mov edx, dword [esp + 0x34]
add edx, 7
mov ebx, edx
jmp 0x45b687
add ebx, 1
movzx edx, byte [ebx]
cmp dl, 0x2e
sete al
cmp dl, 9
sete cl
or al, cl
jne 0x45b684
lea eax, [edx - 0x20]
cmp al, 1
jbe 0x45b684
mov eax, ebx
cmp dl, 0x2d
jne 0x45b09b
mov ecx, dword [esp + 0x24]
lea eax, [ebx + 1]
mov edx, 0xffffdbfe
cmp byte [ecx], 0x2a
jne 0x45b6c5
jmp 0x45b965
add eax, 1
movzx ecx, byte [eax]
cmp cl, 0xd
ja 0x45b6c2
mov ebx, edx
sar ebx, cl
mov ecx, ebx
and cl, 1
jne 0x45b6c2
jmp 0x45b0a8
cmp byte [edx + 1], 0x22
jne 0x45a5cf
jmp 0x45a7e0
cmp byte [ebx + 0x290], 0
je 0x45b70a
mov esi, dword [ebx + 0x28c]
lea edx, [esi - 0xb]
cmp edx, 1
ja 0x45bb42
add eax, 1
mov dword [edi], eax
or word [ebp + 8], 2
mov byte [ebp + 4], 0x28
jmp 0x45a930
mov dword [esp + 8], str.C_style_comments_are_not_allowed_in_ISO_C90
mov dword [esp + 4], 3
mov dword [esp], esi
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__..._
test al, al
jne 0x45b760
or byte [edi + 0x38], 2
mov ebx, dword [esi]
jmp 0x45adf8
mov dword [esp + 8], str.C_style_comments_are_incompatible_with_C90
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__..._
test al, al
je 0x45b739
mov dword [esp + 8], str._this_will_be_reported_only_once_per_input_file_
mov dword [esp + 4], 5
mov dword [esp], esi
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__..._
jmp 0x45b739
mov dword [esp + 8], str.C_style_comments_are_not_allowed_in_ISO_C90
mov dword [esp + 4], 2
mov dword [esp], esi
call sym.cpp_error_cpp_reader__cpp_diagnostic_level__char_const__..._
test al, al
je 0x45b739
jmp 0x45b760
mov edx, dword [esp + 0x28]
mov eax, ebx
not eax
add eax, dword [edx]
cmp eax, 0xf
jbe 0x45aebe
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.int__fallthrough
lea eax, [ebx + 2]
mov dword [esp], eax
call sym._memcmp
test eax, eax
jne 0x45aebe
movzx edx, byte [ebx + 0x12]
lea eax, [ebx + 0x12]
cmp dl, 0x20
jne 0x45b7ea
movzx edx, byte [eax + 1]
add eax, 1
cmp dl, 0x20
je 0x45b7de
cmp dl, 9
je 0x45b7de
jmp 0x45b09b
lea ecx, [esp + 0x48]
mov eax, esi
call sym.get_bidi_utf8_cpp_reader__unsigned_char_const__unsigned_int_
mov edx, eax
test eax, eax
jne 0x45b80c
mov eax, dword [ebx]
jmp 0x45ae47
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp], eax
mov eax, esi
call sym.maybe_warn_bidi_on_char_cpp_reader__bidi::kind__bool__unsigned_int___clone_.part.0_
mov eax, dword [ebx]
jmp 0x45ae47
cmp al, 0x49
jne 0x45bb61
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
sub eax, ebx
cmp eax, 0x13
jbe 0x45aebe
lea edx, [ebx + 1]
cmp cl, 0x49
je 0x45bc62
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.ntentional
mov dword [esp], edx
mov byte [esp + 0x34], cl
call sym._memcmp
movzx ecx, byte [esp + 0x34]
test eax, eax
jne 0x45aebe
cmp byte [ebx + 0xb], 0x20
lea eax, [ebx + 0xb]
je 0x45bd31
mov dword [esp + 8], 3
add ebx, 0xe
mov dword [esp + 4], 0x55d41b
mov dword [esp], eax
mov byte [esp + 0x34], cl
call sym._memcmp
movzx ecx, byte [esp + 0x34]
test eax, eax
jne 0x45aebe
cmp cl, 0x69
jne 0x45b8bc
cmp byte [ebx], 0x46
je 0x45aebe
movzx eax, byte [ebx]
mov byte [esp + 0x38], al
jmp 0x45b536
cmp cl, 0x20
je 0x45b8d1
test dl, dl
je 0x45b8e0
movzx eax, byte [ebx + 1]
add ebx, 1
cmp al, 9
je 0x45b8d1
cmp al, 0x20
je 0x45b8d1
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov eax, ecx
mov dword [esp + 0x30], ecx
sub eax, ebx
cmp eax, 7
jbe 0x45aebe
mov dword [esp + 8], 7
mov dword [esp + 4], str.FALLTHR
mov dword [esp], ebx
call sym._memcmp
test eax, eax
jne 0x45aebe
cmp byte [ebx + 7], 0x55
mov ecx, dword [esp + 0x30]
lea eax, [ebx + 8]
je 0x45b953
lea edx, [ebx + 7]
mov eax, ecx
sub eax, edx
cmp eax, 3
jbe 0x45aebe
cmp dword [ebx + 7], 0x4847554f
jne 0x45aebe
lea eax, [ebx + 0xb]
jmp 0x45b953
add eax, 1
movzx edx, byte [eax]
cmp dl, 9
je 0x45b950
cmp dl, 0x20
je 0x45b950
jmp 0x45b09b
add ebx, 2
mov ecx, edi
jmp 0x45b974
cmp byte [ebx], 0x2f
je 0x45b99c
add ebx, 1
movzx edx, byte [ebx - 1]
lea edi, [ebx - 1]
cmp dl, 0xd
setne al
test dl, dl
setne byte [esp + 0x30]
test byte [esp + 0x30], al
je 0x45b997
mov eax, edx
and eax, 0xffffffdf
cmp al, 0xa
jne 0x45b971
cmp dl, 0x2a
je 0x45b96c
mov eax, edi
mov edi, ecx
cmp byte [eax], 0x2a
jne 0x45aebe
cmp byte [eax + 1], 0x2f
jmp 0x45aead
mov ebx, esi
mov byte [ebp + 4], 7
jmp 0x45a930
cmp byte [edx + 0xd], 0x40
jne 0x45aebe
mov eax, 0xd
jmp 0x45b099
cmp byte [esp + 0x20], 0
mov ebx, esi
je 0x45b9df
or word [ebp + 8], 0x20
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, eax
movzx eax, byte [eax - 1]
sub ecx, dword [esp + 0x24]
mov esi, ecx
movzx eax, word [eax + eax + 0x568980]
and ax, 0x400
cmp ax, 1
adc esi, 0
cmp byte [ebx + 8], 0
mov dword [esp + 0x20], esi
jne 0x45ba12
cmp byte [ebx + 0x11], 0
je 0x45ba20
cmp dword [esp + 0x2c], 0x2f
mov esi, dword [esp + 0x20]
jne 0x45ba20
lea esi, [esi + 2]
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
sub ecx, edx
cmp esi, ecx
ja 0x45bb9d
lea ecx, [edx + esi]
mov dword [esp + 0x30], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x10], edx
mov byte [ebp + 4], 0x50
sub ecx, 1
mov dword [ebp + 0xc], esi
mov byte [edx], 0x2f
mov edx, dword [esp + 0x24]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x28], eax
call sym._memcpy
cmp byte [ebx + 8], 0
mov edx, dword [esp + 0x30]
jne 0x45ba7c
cmp byte [ebx + 0x11], 0
je 0x45ba87
cmp dword [esp + 0x2c], 0x2f
je 0x45bbf4
cmp dword [ebx + 0x370], 0
je 0x45bb7c
mov eax, dword [ebx + 0x370]
cmp dword [ebx + 0x36c], eax
je 0x45bc3a
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x368]
mov edx, dword [ebx + 0x36c]
lea edx, [eax + edx*8]
lea eax, [esi + 1]
mov dword [esp], eax
mov dword [esp + 0x20], edx
call sym._xmalloc
mov edx, dword [esp + 0x20]
mov dword [edx], eax
mov edx, dword [ebx + 0x36c]
mov eax, dword [ebx + 0x368]
mov eax, dword [eax + edx*8]
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._memcpy
mov edx, dword [ebx + 0x36c]
mov eax, dword [ebx + 0x368]
mov eax, dword [eax + edx*8]
mov byte [eax + esi], 0
mov eax, dword [ebx + 0x36c]
mov ecx, dword [ebp]
mov edx, dword [ebx + 0x368]
mov dword [edx + eax*8 + 4], ecx
add eax, 1
mov dword [ebx + 0x36c], eax
jmp 0x45a648
cmp dword [esp + 0x2c], 0x3d
mov ebx, esi
jne 0x45b9b4
mov eax, dword [esp + 0x24]
add eax, 1
mov dword [edi], eax
mov byte [ebp + 4], 0x1f
jmp 0x45a930
cmp byte [eax + 1], 0x3a
jne 0x45b70a
movzx edx, byte [eax + 2]
and edx, 0xfffffffb
cmp dl, 0x3a
je 0x45b70a
jmp 0x45a930
mov byte [esp + 0x38], cl
jmp 0x45b536
cmp byte [ebx + 0x299], 0
jne 0x45a7f0
jmp 0x45a5cf
mov dword [ebx + 0x370], 0x100
mov dword [esp], 0x800
call sym._xmalloc
mov dword [ebx + 0x368], eax
jmp 0x45ba94
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym.__cpp_get_buff
mov edx, dword [ebx + 0x28]
mov dword [eax], edx
mov edx, dword [eax + 8]
mov dword [ebx + 0x28], eax
jmp 0x45ba33
mov dword [esp], edx
mov dword [esp + 8], 3
mov dword [esp + 4], 0x55d3fd
mov byte [esp + 0x38], cl
mov dword [esp + 0x34], edx
call sym._memcmp
mov edx, dword [esp + 0x34]
movzx ecx, byte [esp + 0x38]
test eax, eax
jne 0x45b4d4
mov byte [esp + 0x30], 1
jmp 0x45b4fd
lea eax, [esi - 2]
mov byte [edx + 1], 0x2a
mov byte [edx + esi - 2], 0x2a
mov byte [edx + esi - 1], 0x2f
cmp eax, 2
jbe 0x45ba87
mov ecx, dword [esp + 0x28]
lea eax, [edx + esi - 3]
jmp 0x45bc23
add ecx, 1
cmp eax, ecx
je 0x45ba87
cmp byte [ecx + 1], 0x2f
jne 0x45bc18
cmp byte [ecx], 0x2a
je 0x45bc34
cmp byte [ecx + 2], 0x2a
jne 0x45bc18
mov byte [ecx + 1], 0x7c
jmp 0x45bc18
mov edx, dword [ebx + 0x368]
add eax, eax
mov dword [ebx + 0x370], eax
shl eax, 3
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._xrealloc
mov dword [ebx + 0x368], eax
jmp 0x45baa6
mov dword [esp], edx
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.NTENTIONAL
mov byte [esp + 0x38], cl
mov dword [esp + 0x34], edx
call sym._memcmp
mov edx, dword [esp + 0x34]
movzx ecx, byte [esp + 0x38]
test eax, eax
jne 0x45b84c
cmp byte [ebx + 0xb], 0x20
jne 0x45bd6b
cmp byte [ebx + 0xc], 0x66
lea eax, [ebx + 0xc]
je 0x45aebe
mov byte [esp + 0x30], 1
mov ebx, eax
jmp 0x45b8bc
lea eax, [ebx + 5]
mov dword [esp + 0x34], eax
jmp 0x45b5d5
lea eax, [ebx + 1]
mov dword [esp + 8], 3
mov dword [esp + 4], 0x55d41f
mov dword [esp], eax
call sym._memcmp
test eax, eax
jne 0x45b566
lea eax, [ebx + 4]
mov byte [esp + 0x30], 1
mov edx, 0x53
mov dword [esp + 0x34], eax
movzx eax, byte [ebx + 4]
mov ecx, eax
jmp 0x45b5a6
lea eax, [ebx + 5]
jmp 0x45b50a
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x34]
cmp ebx, 3
jbe 0x45aebe
cmp byte [esp + 0x30], 0
mov eax, 0x55d2e9
mov edx, 0x55d2e5
cmovne eax, edx
jmp 0x45b617
add ebx, 0xc
jmp 0x45b8ae
cmp byte [esp + 0x38], 0x46
jne 0x45b536
jmp 0x45aebe
mov ebx, dword [esp + 0x34]
add ebx, 4
jmp 0x45b687
cmp byte [ebx + 5], 0x20
jne 0x45b5ae
lea eax, [ebx + 6]
mov dword [esp + 0x34], eax
jmp 0x45b5d5
cmp dword [ebx + 0xb], 0x4620594c
lea eax, [ebx + 0xe]
je 0x45bcaa
jmp 0x45aebe