Function at 0x41ab20
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov ebp, dword [ecx]
mov dword [esp + 0x10], ecx
mov edi, dword [ecx + 4]
mov ecx, edi
sub ecx, ebp
xor ebx, ebx
cmp ecx, 2
jae 0x41ab45
mov eax, ebx
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, word [ebp]
xor esi, esi
cmp eax, 0x7367
setne al
je 0x41ab59
xor edx, edx
jmp 0x41ab6f
add ebp, 2
mov ecx, dword [esp + 0x10]
mov dword [ecx], ebp
mov ecx, edi
sub ecx, ebp
mov dl, 1
xor ebx, ebx
cmp ecx, 2
jb 0x41ab3b
mov dword [esp + 0xc], edi
mov dword [esp + 0x24], edx
xor edx, edx
mov dl, al
mov dword [esp + 0x20], edx
movzx eax, byte [ebp]
mov edi, 0x3d
jmp 0x41ab97
inc edx
mov esi, edx
cmp edi, esi
je 0x41abc6
lea edx, [esi + edi]
shr edx, 1
lea ebx, [edx*4]
cmp al, byte [ebx + ebx*2 + 0x43b3ac]
jg 0x41ab90
jne 0x41abc0
mov ah, byte [ebx + ebx*2 + 0x43b3ad]
cmp byte [ebp + 1], ah
setg ah
test ah, 1
jne 0x41ab90
mov edi, edx
cmp edi, esi
jne 0x41ab97
lea edx, [esi + esi*2]
cmp al, byte [edx*4 + 0x43b3ac]
jne 0x41ac60
lea edx, [edx*4 + 0x43b3ac]
movzx eax, byte [ebp + 1]
cmp al, byte [edx + 1]
jne 0x41ac60
lea ebx, [ebp + 2]
mov ecx, dword [esp + 0x10]
mov dword [ecx], ebx
movzx esi, byte [edx + 2]
mov dword [esp + 0x14], edx
mov edi, dword [edx + 8]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, esi
mov dword [esp + 0x20], esi
cmp esi, 0xa
mov dword [esp + 0x34], ebx
ja 0x41ad09
cmp eax, 8
jb 0x41bbc4
mov ecx, 0x7265706f
xor ecx, dword [edi]
mov edx, 0x726f7461
xor edx, dword [edi + 4]
or edx, ecx
jne 0x41bbc4
lea ecx, [edi + 8]
mov edx, eax
add edx, 0xfffffff8
mov esi, dword [esp + 0x10]
je 0x41adfa
cmp byte [ecx], 0x20
jne 0x41adfc
add edi, 9
add eax, 0xfffffff7
mov ecx, edi
mov edx, eax
jmp 0x41adfc
movzx edx, byte [ebp]
cmp edx, 0x66
mov esi, dword [esp + 0x10]
je 0x41ac93
cmp edx, 0x54
je 0x41ac85
cmp edx, 0x4c
jne 0x41aca9
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41c200
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00419af0
movzx eax, byte [ebp + 1]
cmp al, 0x70
jne 0x41ad16
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41cb70
movzx eax, word [ebp]
cmp eax, 0x6c69
je 0x41ad3d
movzx eax, word [ebp]
cmp eax, 0x636d
mov ecx, dword [esp + 0xc]
je 0x41aec0
movzx eax, word [ebp]
cmp eax, 0x786e
je 0x41afd1
cmp ecx, ebp
je 0x41aed3
cmp dl, 0x72
jne 0x41aed3
movzx eax, byte [ebp + 1]
or eax, 0x20
cmp eax, 0x71
jne 0x41aed3
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41d5c0
mov ecx, edi
mov edx, eax
mov esi, dword [esp + 0x10]
jmp 0x41adfc
cmp ecx, 2
je 0x41ad2f
cmp al, 0x4c
jne 0x41ad2f
movsx eax, byte [ebp + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x41ac9b
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41ce60
add ebp, 2
mov dword [esi], ebp
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x20], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
jmp 0x41ad8f
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x41bbbf
lea ebp, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, ebx
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov ebp, dword [esi]
mov eax, dword [esi + 4]
cmp ebp, eax
je 0x41ad9d
cmp byte [ebp], 0x45
je 0x41b006
mov ecx, esi
call fcn.0041d0d0
test eax, eax
je 0x41bbb8
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x41ad81
mov ebx, eax
mov eax, dword [esi + 8]
mov edi, ebp
sub edi, eax
lea ecx, [edi + edi]
cmp eax, dword [esp + 0x24]
jne 0x41ad5c
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41bbdd
mov ecx, dword [esp + 0x24]
cmp ebp, ecx
je 0x41adf2
push edi
push ecx
push eax
mov esi, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, esi
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x41ad71
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
xor ebx, ebx
mov eax, dword [esp + 0x20]
jmp dword [eax*4 + 0x43e048]
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41d3d0
movzx eax, word [ebp]
cmp eax, 0x6f73
je 0x41b5de
movzx eax, word [ebp]
cmp eax, 0x7073
je 0x41b726
movzx eax, word [ebp]
cmp eax, 0x5a73
je 0x41b7de
movzx eax, word [ebp]
cmp eax, 0x5073
je 0x41b824
movzx eax, word [ebp]
cmp eax, 0x6c74
je 0x41b869
movzx eax, word [ebp]
cmp eax, 0x7274
je 0x41b8e9
movzx eax, word [ebp]
cmp eax, 0x7774
je 0x41b9e2
cmp ecx, ebp
je 0x41ba07
cmp dl, 0x75
jne 0x41ba07
inc ebp
mov dword [esi], ebp
mov ecx, esi
call fcn.00419010
mov dword [esp + 0x2c], eax
test eax, eax
je 0x41bbb8
mov ecx, dword [eax]
mov edi, dword [ecx + 0x18]
mov ecx, edi
mov ebx, eax
call dword [0x43e440]
mov ecx, ebx
call edi
cmp edx, 8
jne 0x41af92
mov ecx, 0x75755f5f
xor ecx, dword [eax]
mov edx, 0x666f6469
xor edx, dword [eax + 4]
or edx, ecx
je 0x41bb60
lea ebx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
mov ebp, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41afad
cmp byte [eax], 0x45
je 0x41bb2d
mov ecx, esi
call fcn.00417cb0
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov ecx, ebx
mov edx, ebp
call fcn.00417f80
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x41afa4
jmp 0x41afad
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
call fcn.0041ab20
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov dword [esp + 0x2c], 2
lea eax, [esp + 0x2c]
mov edx, esp
mov ecx, esi
push eax
call fcn.0041d510
add esp, 4
jmp 0x41bb26
inc ebp
mov dword [esi], ebp
mov ecx, esi
mov edx, dword [esp + 0x20]
call fcn.004180a0
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.0041d340
jmp 0x41bb26
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41da60
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
call fcn.0041ab20
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov edx, esp
mov ecx, esi
call fcn.0041dd90
jmp 0x41bb26
push eax
push esi
call fcn.0041bf30
add esp, 8
jmp 0x41bb26
add ebp, 2
mov dword [esi], ebp
cmp ecx, ebp
je 0x41b80d
cmp byte [ebp], 0x54
jne 0x41b80d
mov ecx, esi
call fcn.00419af0
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov edx, esp
mov ecx, esi
call fcn.0041de10
jmp 0x41bb26
mov ecx, esi
call 0x41cb70
mov dword [esp], eax
test eax, eax
je 0x41bbb8
jmp 0x41b920
add ebp, 2
mov dword [esi], ebp
lea edi, [esi + 8]
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 2
cmp ebp, ecx
je 0x41b843
cmp byte [ebp], 0x45
je 0x41b901
mov ecx, esi
call fcn.00417cb0
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov ecx, edi
mov edx, esp
call fcn.00417f80
mov ebp, dword [esi]
mov ecx, dword [esi + 4]
cmp ebp, ecx
jne 0x41b839
jmp 0x41b843
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
call fcn.004162a0
mov dword [esp + 0x2c], eax
xor ebx, ebx
test eax, eax
je 0x41ab3b
lea ebp, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 2
mov ebx, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41b8a1
cmp byte [eax], 0x45
je 0x41baad
mov ecx, esi
call fcn.0041d0d0
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov ecx, ebp
mov edx, ebx
call fcn.00417f80
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x41b898
jmp 0x41b8a1
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
mov edx, str.throw
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41e050
inc ebp
mov dword [esi], ebp
mov ecx, esi
mov edx, ebx
call fcn.004180a0
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.0041df30
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.0041de90
jmp 0x41bb26
add ebp, 2
mov dword [esi], ebp
mov ecx, esi
call fcn.0041ab20
mov dword [esp], eax
test eax, eax
je 0x41bbb8
mov edx, esp
mov ecx, esi
call fcn.0041e0e0
jmp 0x41bb26
xor edx, edx
cmp dword [esp + 0x20], 0
sete dl
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41e160
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, edi
call fcn.004180a0
mov dword [esp + 4], edx
mov dword [esp], eax
lea edx, [esp + 0x2c]
mov ecx, esi
push ebx
call fcn.0041dfc0
add esp, 4
jmp 0x41bb26
mov ebx, eax
jmp 0x41ab3b
inc eax
mov dword [esi], eax
sar edi, 2
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov edx, edi
call fcn.004180a0
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], 1
lea eax, [esp + 8]
mov esi, esp
lea edx, [esp + 0x2c]
mov ecx, ebx
jmp 0x41b7cf
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41af92
cmp byte [eax], 0x74
jne 0x41bb7e
inc eax
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
call fcn.004162a0
jmp 0x41bb95
cmp byte [eax], 0x7a
mov esi, dword [esp + 0x10]
jne 0x41af92
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
mov dword [esp + 0x18], eax
test eax, eax
je 0x41bbb8
mov eax, dword [esp + 0x10]
lea ecx, [eax + 8]
mov edi, dword [eax + 0xc]
sub edi, dword [eax + 8]
lea edx, [esp + 0x18]
call fcn.00417f80
jmp 0x41bb30
xor ebx, ebx
jmp 0x41ab3b
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
push str.operator_name_does_not_start_with_operator
push 0xb4a
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.004128d0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call fcn.0040d190
call fcn.0040d190
call fcn.0040d190
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
mov byte [esi + 0x184], bl
push eax
call fcn.0040c930
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
cmp esi, edi
je case.0x41c233.84
cmp byte [esi], 0x4c
jne case.0x41c233.84
lea edx, [esi + 1]
mov dword [ecx], edx
mov ebx, edi
sub ebx, edx
je case.0x41c233.66
movzx eax, byte [edx]
add eax, 0xffffffbf
cmp eax, 0x38
ja case.0x41c233.66
jmp dword [eax*4 + 0x43e07c]
mov esi, ecx
call fcn.004162a0
mov ecx, eax
mov dword [esp], eax
xor eax, eax
test ecx, ecx
je 0x41cb12
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je 0x41cb12
cmp byte [edx], 0x45
jne 0x41cb12
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.0041fb80
jmp 0x41cb12
mov esi, ecx
call fcn.004162a0
mov dword [esp + 8], eax
test eax, eax
je case.0x41c233.84
mov ecx, esi
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov edi, eax
cmp eax, edx
je 0x41c2a1
cmp byte [eax], 0x6e
mov edi, eax
jne 0x41c2a1
lea edi, [eax + 1]
mov dword [ecx], edi
mov ebx, edx
mov ebp, 0
mov esi, 0
cmp edx, edi
je 0x41c2e4
movsx esi, byte [edi]
add esi, 0xffffffd0
cmp esi, 9
ja 0x41c2de
nop dword [eax]
movsx esi, byte [edi]
add esi, 0xffffffd0
cmp esi, 9
ja 0x41c2d4
inc edi
mov dword [ecx], edi
cmp edi, edx
jne 0x41c2c0
mov edi, edx
mov ebp, edi
sub ebp, eax
mov ebx, edi
mov esi, eax
jmp 0x41c2e4
mov ebx, edi
xor ebp, ebp
xor esi, esi
mov dword [esp + 4], ebp
mov dword [esp], esi
test ebp, ebp
je case.0x41c233.84
cmp ebx, edx
mov eax, 0
je 0x41cb12
cmp byte [ebx], 0x45
jne 0x41cb12
inc ebx
mov dword [ecx], ebx
mov eax, esp
lea edx, [esp + 8]
push eax
call fcn.00420350
add esp, 4
jmp 0x41cb12
add esi, 2
mov dword [ecx], esi
mov edx, str.short
push 5
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, 0x43bbef
push 2
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, 0x43bbe8
jmp 0x41c67b
lea ebx, [esi + 2]
mov dword [ecx], ebx
mov eax, edi
sub eax, ebx
cmp eax, 9
jb case.0x41c233.84
mov ebp, ecx
movsx eax, byte [esi + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
lea eax, [esi + 0xa]
mov dword [ebp], eax
cmp eax, edi
je case.0x41c233.84
cmp byte [eax], 0x45
mov eax, 0
jne 0x41cb12
mov ecx, ebp
add esi, 0xb
mov dword [ebp], esi
mov esi, dword [ebp + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41c477
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41cb61
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4e
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x43bcf4
mov dword [esi + ecx + 0x18], ebx
mov dword [esi + ecx + 0x1c], 8
jmp 0x41cb12
cmp ebx, 2
jb case.0x41c233.84
movzx eax, word [edx]
cmp eax, 0x5a5f
mov eax, 0
jne 0x41cb12
add esi, 3
mov dword [ecx], esi
mov esi, ecx
call fcn.00415780
test eax, eax
je case.0x41c233.84
mov ecx, eax
mov edx, esi
mov esi, dword [esi]
cmp esi, dword [edx + 4]
mov eax, 0
je 0x41cb12
cmp byte [esi], 0x45
jne 0x41cb12
inc esi
mov dword [edx], esi
mov eax, ecx
jmp 0x41cb12
add esi, 2
mov dword [ecx], esi
mov edx, 0x43bbf2
push 3
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, 0x43ac37
push 0
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, str.unsigned_short
push 0xe
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, str.signed_char
push 0xb
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, str.unsigned_char
push 0xd
jmp 0x41cb42
cmp ebx, 2
jb case.0x41c233.84
cmp byte [esi + 2], 0x6c
mov eax, 0
jne 0x41cb12
mov esi, ecx
xor edx, edx
call fcn.0041fc90
mov dword [esp], eax
test eax, eax
je case.0x41c233.84
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je case.0x41c233.84
cmp byte [edx], 0x45
mov eax, 0
jne 0x41cb12
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.004202d0
jmp 0x41cb12
cmp ebx, 2
jb case.0x41c233.84
movzx eax, word [edx]
cmp eax, 0x6e44
jne case.0x41c233.84
lea edx, [esi + 3]
mov dword [ecx], edx
cmp edx, edi
je case.0x41c233.84
cmp byte [edx], 0x30
jne 0x41c5e7
add esi, 4
mov dword [ecx], esi
mov edx, esi
cmp edx, edi
je case.0x41c233.84
cmp byte [edx], 0x45
mov eax, 0
jne 0x41cb12
inc edx
mov dword [ecx], edx
mov edx, str.nullptr
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
jmp 0x41fc00
cmp ebx, 3
jb case.0x41c233.84
movzx eax, word [edx]
xor eax, 0x3062
movzx edi, byte [edx + 2]
xor edi, 0x45
or di, ax
je 0x41cb4c
movzx eax, word [edx]
xor eax, 0x3162
movzx edx, byte [edx + 2]
xor edx, 0x45
or dx, ax
mov eax, 0
jne 0x41cb12
add esi, 4
mov dword [ecx], esi
mov dword [esp], 1
jmp 0x41cb58
add esi, 2
mov dword [ecx], esi
mov edx, str.char
push 4
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, 0x43bbea
push 1
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, 0x43bbec
push 2
jmp 0x41cb42
lea ebx, [esi + 2]
mov dword [ecx], ebx
mov eax, edi
sub eax, ebx
cmp eax, 0x15
jb case.0x41c233.84
mov ebp, ecx
movsx eax, byte [esi + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xa]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xb]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xc]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xd]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xe]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xf]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x10]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x11]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x12]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x13]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x14]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x15]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
lea eax, [esi + 0x16]
mov dword [ebp], eax
cmp eax, edi
je case.0x41c233.84
cmp byte [eax], 0x45
mov eax, 0
jne 0x41cb12
mov ecx, ebp
add esi, 0x17
mov dword [ebp], esi
mov esi, dword [ebp + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41c8c1
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41cb61
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x50
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x43bdd4
mov dword [esi + ecx + 0x18], ebx
mov dword [esi + ecx + 0x1c], 0x14
jmp 0x41cb12
lea ebx, [esi + 2]
mov dword [ecx], ebx
mov eax, edi
sub eax, ebx
cmp eax, 0x11
jb case.0x41c233.84
mov ebp, ecx
movsx eax, byte [esi + 2]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 3]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 4]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 5]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 6]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 7]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 8]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 9]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xa]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xb]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xc]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xd]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xe]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0xf]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x10]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
movsx eax, byte [esi + 0x11]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x41c233.84
lea eax, [esi + 0x12]
mov dword [ebp], eax
cmp eax, edi
je case.0x41c233.84
cmp byte [eax], 0x45
mov eax, 0
jne 0x41cb12
mov ecx, ebp
add esi, 0x13
mov dword [ebp], esi
mov esi, dword [ebp + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41cad5
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41cb61
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4f
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x43bd64
mov dword [esi + ecx + 0x18], ebx
mov dword [esi + ecx + 0x1c], 0x10
jmp 0x41cb12
xor eax, eax
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
add esi, 2
mov dword [ecx], esi
mov edx, str.unsigned___int128
push 0x11
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, str.__int128
push 8
jmp 0x41cb42
add esi, 2
mov dword [ecx], esi
mov edx, str.wchar_t
push 7
call fcn.0041f9f0
add esp, 0x10
jmp 0x41cb15
add esi, 4
mov dword [ecx], esi
mov dword [esp], 0
mov edx, esp
call fcn.0041fb00
jmp 0x41cb12
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
mov esi, edx
sub esi, edi
cmp esi, 3
jae 0x41cb91
xor eax, eax
cmp esi, 2
je 0x41cba9
jmp 0x41cd95
movzx eax, word [edi]
xor eax, 0x7066
movzx esi, byte [edi + 2]
xor esi, 0x54
or si, ax
je 0x41cd13
movzx eax, word [edi]
cmp eax, 0x7066
je 0x41cc95
movzx esi, word [edi]
xor eax, eax
cmp esi, 0x4c66
jne 0x41cd95
add edi, 2
mov dword [ecx], edi
cmp edx, edi
je 0x41cd95
movsx esi, byte [edi]
add esi, 0xffffffd0
cmp esi, 9
ja 0x41cd95
mov ebx, edi
nop word cs:[eax + eax]
movsx esi, byte [ebx]
add esi, 0xffffffd0
cmp esi, 9
ja 0x41cc04
inc ebx
mov dword [ecx], ebx
cmp ebx, edx
jne 0x41cbf0
mov ebx, edx
cmp ebx, edi
je 0x41cd95
cmp ebx, edx
je 0x41cd95
cmp byte [ebx], 0x70
jne 0x41cd95
lea esi, [ebx + 1]
mov dword [ecx], esi
cmp esi, edx
je 0x41ce23
cmp byte [esi], 0x72
jne 0x41cc36
add ebx, 2
mov dword [ecx], ebx
mov esi, ebx
cmp esi, edx
je 0x41ce23
cmp byte [esi], 0x56
jne 0x41cc46
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x41ce23
cmp byte [esi], 0x4b
jne 0x41cc56
inc esi
mov dword [ecx], esi
cmp edx, esi
je 0x41ce23
movsx edi, byte [esi]
add edi, 0xffffffd0
xor eax, eax
cmp edi, 9
ja 0x41ce2a
mov edi, esi
mov ebx, esi
movsx ebp, byte [ebx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x41cc8a
inc ebx
mov dword [ecx], ebx
inc edi
cmp ebx, edx
jne 0x41cc73
mov edi, edx
mov ebx, edx
mov ebp, esi
sub edi, esi
mov esi, ebx
jmp 0x41ce2e
lea esi, [edi + 2]
mov dword [ecx], esi
xor eax, eax
cmp esi, edx
je 0x41cd95
cmp byte [esi], 0x72
jne 0x41ccb0
add edi, 3
mov dword [ecx], edi
mov esi, edi
cmp esi, edx
je 0x41cd95
cmp byte [esi], 0x56
jne 0x41ccc0
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x41cd95
cmp byte [esi], 0x4b
jne 0x41ccd0
inc esi
mov dword [ecx], esi
cmp edx, esi
je 0x41cd95
movsx edi, byte [esi]
add edi, 0xffffffd0
xor eax, eax
cmp edi, 9
ja 0x41cd9d
mov edi, esi
mov ebp, esi
nop dword [eax]
movsx ebx, byte [ebp]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x41cd08
inc ebp
mov dword [ecx], ebp
inc edi
cmp ebp, edx
jne 0x41ccf0
mov edi, edx
mov ebp, edx
mov ebx, esi
sub edi, esi
mov esi, ebp
jmp 0x41cda1
add edi, 3
mov dword [ecx], edi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41cd58
mov edi, ecx
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41ce55
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 8
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x43afc4
mov dword [esi + edx + 0x18], str.this
mov dword [esi + edx + 0x1c], 4
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
xor ebx, ebx
cmp esi, edx
je 0x41cd95
cmp byte [esi], 0x5f
jne 0x41cd95
inc esi
mov dword [ecx], esi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41cde9
mov ebp, ecx
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41ce55
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 0x43
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x43c384
mov dword [esi + edx + 0x1c], edi
mov dword [esi + edx + 0x18], ebx
jmp 0x41cd95
xor eax, eax
jmp 0x41cd95
xor edi, edi
xor ebp, ebp
mov dword [esp + 4], edi
mov dword [esp], ebp
cmp esi, edx
je 0x41cd95
cmp byte [esi], 0x5f
jne 0x41cd95
inc esi
mov dword [ecx], esi
mov edx, esp
call fcn.00422630
jmp 0x41cd95
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
xor eax, eax
cmp edx, esi
je case.0x41cea6.77
cmp byte [edx], 0x66
jne case.0x41cea6.77
lea edi, [edx + 1]
mov dword [ecx], edi
cmp esi, edi
je case.0x41cea6.77
movzx edi, byte [edi]
xor eax, eax
add edi, 0xffffffb4
cmp edi, 0x26
ja case.0x41cea6.77
xor ebx, ebx
mov dword [esp], 0
jmp dword [edi*4 + 0x43e160]
mov bl, 1
mov dword [esp], ebx
mov bl, 1
jmp case.0x41cea6.114
mov bl, 1
mov dword [esp], ebx
xor ebx, ebx
jmp case.0x41cea6.114
mov bl, 1
mov dword [esp], 0
lea edi, [edx + 2]
mov dword [ecx], edi
sub esi, edi
cmp esi, 2
jb case.0x41cea6.77
mov dword [esp + 4], ebx
movzx ebx, byte [edx + 2]
xor eax, eax
mov esi, 0x3d
jmp 0x41cef7
inc edi
mov eax, edi
cmp esi, eax
je 0x41cf26
lea edi, [eax + esi]
shr edi, 1
lea ebp, [edi*4]
cmp bl, byte [ebp + ebp*2 + 0x43b3ac]
jg 0x41cef0
jne 0x41cf20
mov bh, byte [ebp + ebp*2 + 0x43b3ad]
cmp byte [edx + 3], bh
setg bh
test bh, 1
jne 0x41cef0
mov esi, edi
cmp esi, eax
jne 0x41cef7
lea esi, [eax + eax*2]
xor eax, eax
cmp bl, byte [esi*4 + 0x43b3ac]
jne case.0x41cea6.77
lea edi, [esi*4 + 0x43b3ac]
movzx ebx, byte [edx + 3]
cmp bl, byte [edi + 1]
jne case.0x41cea6.77
add edx, 4
mov dword [ecx], edx
movzx edx, byte [edi + 2]
cmp edx, 2
je 0x41cf82
cmp edx, 4
jne case.0x41cea6.77
mov ebx, dword [edi + 8]
push ebx
mov esi, ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, esi
add esp, 4
mov edx, eax
xor eax, eax
cmp byte [ebx + edx - 1], 0x2a
jne case.0x41cea6.77
mov ebp, ecx
call fcn.0041ab20
mov esi, eax
xor eax, eax
test esi, esi
mov ebx, dword [esp + 4]
je case.0x41cea6.77
cmp byte [esp], 0
je 0x41cfbf
mov ecx, ebp
call fcn.0041ab20
test eax, eax
je 0x41d0a5
test bl, bl
mov ecx, esi
cmovne ecx, eax
cmovne eax, esi
mov dword [esp], eax
mov esi, ecx
jmp 0x41cfc6
mov dword [esp], 0
mov ebx, dword [edi + 8]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 8
jb 0x41d0a9
mov ecx, 0x7265706f
xor ecx, dword [ebx]
mov edx, 0x726f7461
xor edx, dword [ebx + 4]
or edx, ecx
jne 0x41d0a9
lea edx, [ebx + 8]
mov edi, eax
add edi, 0xfffffff8
mov ecx, ebp
je 0x41d00f
cmp byte [edx], 0x20
jne 0x41d011
add ebx, 9
add eax, 0xfffffff7
mov edx, ebx
mov edi, eax
jmp 0x41d011
xor edi, edi
mov ebx, dword [ecx + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x41d057
mov dword [esp + 8], edx
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41d0c2
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 8]
lea eax, [ecx + 0x30]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x47
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x43c3f0
mov dword [ebx + ecx + 0x18], esi
mov eax, dword [esp]
mov dword [ebx + ecx + 0x1c], eax
mov dword [ebx + ecx + 0x24], edi
mov dword [ebx + ecx + 0x20], edx
mov eax, dword [esp + 4]
mov byte [ebx + ecx + 0x28], al
lea eax, [ebx + ecx]
add eax, 8
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp case.0x41cea6.77
push str.operator_name_does_not_start_with_operator
push 0xb4a
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.004128d0
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, ecx
call fcn.004162a0
xor ebx, ebx
test eax, eax
je 0x41d4f3
mov esi, eax
mov ecx, edi
call fcn.0041ab20
test eax, eax
je 0x41d4f3
mov dword [esp + 4], esi
mov ebp, dword [edi]
mov edx, dword [edi + 4]
mov ecx, ebp
cmp ebp, edx
je 0x41d415
cmp byte [ebp], 0x6e
mov ecx, ebp
jne 0x41d415
lea ecx, [ebp + 1]
mov dword [edi], ecx
cmp edx, ecx
je 0x41d4f3
movsx esi, byte [ecx]
add esi, 0xffffffd0
xor ebx, ebx
cmp esi, 9
ja 0x41d451
nop word [eax + eax]
movsx esi, byte [ecx]
add esi, 0xffffffd0
cmp esi, 9
ja 0x41d444
inc ecx
mov dword [edi], ecx
cmp ecx, edx
jne 0x41d430
mov ecx, edx
mov esi, ecx
sub esi, ebp
cmp ecx, edx
jne 0x41d45d
jmp 0x41d4f3
xor esi, esi
xor ebp, ebp
cmp ecx, edx
je 0x41d4f3
cmp byte [ecx], 0x45
jne 0x41d4f3
inc ecx
mov dword [edi], ecx
mov ebx, dword [edi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x41d4aa
mov dword [esp], eax
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41d4fd
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov eax, dword [esp]
lea edx, [ecx + 0x20]
mov dword [ebx + 4], edx
mov byte [ebx + ecx + 0xc], 0x45
mov edx, dword [ebx + ecx + 0x10]
and edx, 0xffffffc0
or edx, 2
mov dword [ebx + ecx + 0x10], edx
movzx edx, byte [ebx + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebx + ecx + 0x14], dl
mov dword [ebx + ecx + 8], 0x43c608
mov edx, dword [esp + 4]
mov dword [ebx + ecx + 0x18], edx
mov dword [ebx + ecx + 0x1c], eax
mov dword [ebx + ecx + 0x24], esi
mov dword [ebx + ecx + 0x20], ebp
add ebx, ecx
add ebx, 8
mov eax, ebx
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x41d5f1
movzx edx, word [eax]
cmp edx, 0x5172
je 0x41d5fb
movzx edx, word [eax]
cmp edx, 0x7172
je 0x41d6a9
xor eax, eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 4], edx
lea ebx, [esi + 0x14]
jmp 0x41d651
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x41da50
lea ebp, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp]
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x41d65a
cmp byte [eax], 0x5f
je 0x41d6c7
mov ecx, esi
call fcn.004162a0
test eax, eax
je 0x41d5f1
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x41d643
mov dword [esp], eax
mov eax, dword [esi + 8]
mov edx, ebx
mov edi, ebp
sub edi, eax
lea ecx, [edi + edi]
cmp eax, ebx
jne 0x41d620
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da50
cmp ebp, ebx
je 0x41d6a4
push edi
push ebx
push eax
mov ebp, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebp
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x41d635
add eax, 2
mov dword [esi], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
cmp eax, ecx
jne 0x41d6ea
jmp 0x41d5f1
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 4]
call fcn.004180a0
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x41d5f1
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 8]
sar ecx, 2
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x14]
mov dword [esp + 4], ecx
jmp 0x41d708
cmp eax, ecx
je 0x41d5f1
cmp byte [eax], 0x58
jne 0x41d760
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
test eax, eax
je 0x41d5f1
mov ebx, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor edx, edx
cmp eax, ecx
je 0x41d7f0
cmp byte [eax], 0x4e
jne 0x41d7f0
inc eax
mov dword [esi], eax
mov edi, ebx
mov bl, 1
mov dword [esp], ebx
mov ebx, edi
cmp eax, ecx
jne 0x41d7fb
jmp 0x41d818
cmp byte [eax], 0x54
jne 0x41d8b0
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004162a0
test eax, eax
je 0x41d5f1
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41d7bb
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da55
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x55
and byte [ebx + ecx + 0x10], 0xc0
lea ebp, [ebx + ecx]
add ebp, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x43c6f0
jmp 0x41d936
mov dword [esp], 0
cmp eax, ecx
je 0x41d818
cmp byte [eax], 0x52
jne 0x41d818
inc eax
mov dword [esi], eax
mov ecx, esi
xor edx, edx
call fcn.00417620
mov edx, eax
xor eax, eax
test edx, edx
je 0x41d5f3
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41d85a
mov ebp, edx
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da55
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov edx, ebp
lea eax, [ecx + 0x20]
mov dword [edi + 4], eax
lea ebp, [edi + ecx]
add ebp, 8
mov byte [edi + ecx + 0xc], 0x54
and byte [edi + ecx + 0x10], 0xc0
movzx eax, byte [edi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [edi + ecx + 0x14], al
mov dword [edi + ecx + 8], 0x43c684
mov dword [edi + ecx + 0x18], ebx
mov eax, dword [esp]
mov byte [edi + ecx + 0x1c], al
mov dword [edi + ecx + 0x20], edx
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x41d99e
jmp 0x41d942
cmp byte [eax], 0x51
jne 0x41d5f1
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0041ab20
test eax, eax
je 0x41d5f1
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41d90b
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da55
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x56
and byte [ebx + ecx + 0x10], 0xc0
lea ebp, [ebx + ecx]
add ebp, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x43c75c
mov dword [ebx + ecx + 0x18], edi
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x41d99e
mov eax, dword [esi + 8]
mov edi, ebx
sub edi, eax
lea ecx, [edi + edi]
cmp eax, dword [esp + 4]
je 0x41d968
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
jne 0x41d993
jmp 0x41da50
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da50
mov ecx, dword [esp + 4]
cmp ebx, ecx
je 0x41d990
push edi
push ecx
push eax
mov ebx, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebx
add esp, 0xc
mov dword [esi + 8], eax
lea ebx, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
lea eax, [ebx + 4]
mov dword [esi + 0xc], eax
mov dword [ebx], ebp
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x41d700
cmp byte [eax], 0x45
jne 0x41d700
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.004180a0
mov edi, eax
mov ebx, edx
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41da08
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41da55
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x53
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43c7cc
mov eax, dword [esp + 0xc]
mov dword [ebp + ecx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [ebp + ecx + 0x1c], eax
mov dword [ebp + ecx + 0x24], ebx
mov dword [ebp + ecx + 0x20], edi
lea eax, [ecx + ebp]
add eax, 8
jmp 0x41d5f3
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov edi, ecx
call fcn.004162a0
xor ebp, ebp
test eax, eax
je 0x41dd72
mov dword [esp + 0xc], eax
mov ecx, edi
call fcn.0041ab20
mov dword [esp + 0x18], eax
test eax, eax
je 0x41dd72
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov esi, edx
cmp edx, eax
je 0x41daa6
cmp byte [edx], 0x6e
mov esi, edx
jne 0x41daa6
lea esi, [edx + 1]
mov dword [edi], esi
xor ebp, ebp
mov ecx, eax
mov ebx, 0
mov dword [esp + 4], 0
cmp eax, esi
je 0x41daee
movsx ecx, byte [esi]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x41dafb
nop word cs:[eax + eax]
movsx ecx, byte [esi]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x41dae4
inc esi
mov dword [edi], esi
cmp esi, eax
jne 0x41dad0
mov esi, eax
mov ebx, esi
sub ebx, edx
mov ecx, esi
mov dword [esp + 4], edx
mov dword [esp + 0x14], ebx
cmp ecx, eax
jne 0x41db13
jmp 0x41dd72
mov ecx, esi
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp + 0x14], ebx
cmp ecx, eax
je 0x41dd72
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 8]
sar edx, 2
mov dword [esp + 0x10], edx
lea edx, [edi + 0x14]
mov dword [esp + 8], edx
jmp 0x41db9f
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ebx, ebx
mov esi, eax
mov edx, dword [esp + 8]
lea eax, [ebx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ebx + 0xc], 8
and byte [esi + ebx + 0x10], 0xc0
movzx eax, byte [esi + ebx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [esi + ebx + 0x14], al
mov dword [esi + ebx + 8], 0x43afc4
mov dword [esi + ebx + 0x1c], ebp
mov eax, dword [esp]
mov dword [esi + ebx + 0x18], eax
mov ebp, dword [edi + 0xc]
cmp ebp, dword [edi + 0x10]
je 0x41dc30
lea eax, [esi + ebx]
add eax, 8
lea ecx, [ebp + 4]
mov dword [edi + 0xc], ecx
mov dword [ebp], eax
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp ecx, eax
je 0x41dcaf
cmp byte [ecx], 0x5f
jne 0x41dc96
inc ecx
mov dword [edi], ecx
xor ebp, ebp
cmp eax, ecx
je 0x41dbf0
movsx edx, byte [ecx]
add edx, 0xffffffd0
mov esi, 0
cmp edx, 9
ja 0x41dbf2
mov ebp, ecx
nop word cs:[eax + eax]
movsx edx, byte [ebp]
add edx, 0xffffffd0
cmp edx, 9
ja 0x41dbe5
inc ebp
mov dword [edi], ebp
cmp ebp, eax
jne 0x41dbd0
mov ebp, eax
sub ebp, ecx
mov esi, ecx
jmp 0x41dbf2
xor esi, esi
mov dword [esp], esi
mov esi, dword [edi + 0x1198]
mov ebx, dword [esi + 4]
lea eax, [ebx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41db43
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
jne 0x41db30
jmp 0x41dd7c
mov eax, dword [edi + 8]
mov ecx, ebp
sub ecx, eax
mov dword [esp], ecx
add ecx, ecx
cmp eax, edx
je 0x41dc56
push ecx
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov dword [edi + 8], eax
test eax, eax
jne 0x41dc83
jmp 0x41dd81
push ecx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41dd81
mov edx, dword [esp + 8]
cmp ebp, edx
je 0x41dc80
push dword [esp]
push edx
push eax
mov ebp, eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, ebp
add esp, 0xc
mov dword [edi + 8], eax
mov ecx, dword [esp]
lea ebp, [eax + ecx]
sar ecx, 1
lea eax, [eax + ecx*4]
mov dword [edi + 0x10], eax
jmp 0x41db83
xor ebp, ebp
cmp ecx, eax
je 0x41dcb6
cmp byte [ecx], 0x70
jne 0x41dcb6
inc ecx
mov dword [edi], ecx
mov bl, 1
cmp ecx, eax
jne 0x41dcc0
jmp 0x41dd72
xor ebp, ebp
jmp 0x41dd72
xor ebx, ebx
cmp ecx, eax
je 0x41dd72
cmp byte [ecx], 0x45
jne 0x41dd72
inc ecx
mov dword [edi], ecx
mov ecx, edi
mov edx, dword [esp + 0x10]
call fcn.004180a0
mov dword [esp], eax
mov ebp, edx
mov esi, dword [edi + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x41dd16
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41dd7c
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov esi, eax
mov eax, dword [esp + 0xc]
lea edx, [ecx + 0x30]
mov dword [esi + 4], edx
mov byte [esi + ecx + 0xc], 0x3b
and byte [esi + ecx + 0x10], 0xc0
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x43c838
mov dword [esi + ecx + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esi + ecx + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esi + ecx + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x2c], ebp
mov eax, dword [esp]
mov dword [esi + ecx + 0x28], eax
mov byte [esi + ecx + 0x30], bl
lea ebp, [esi + ecx]
add ebp, 8
mov eax, ebp
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d190
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
int3
push ebp
push ebx
push edi
push esi
mov esi, edx
mov ebx, dword [ecx + 0x1198]
mov ebp, dword [ebx + 4]
lea eax, [ebp - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e092
mov edi, ecx
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e0d7
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ebp, ebp
mov ebx, eax
lea eax, [ebp + 0x20]
mov dword [ebx + 4], eax
lea edi, [ebx + ebp]
add edi, 8
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov byte [ebx + ebp + 0xc], 8
and byte [ebx + ebp + 0x10], 0xc0
movzx ecx, byte [ebx + ebp + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [ebx + ebp + 0x14], cl
mov dword [ebx + ebp + 8], 0x43afc4
mov dword [ebx + ebp + 0x18], esi
mov dword [ebx + ebp + 0x1c], eax
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d190
int3
push ebp
push ebx
push edi
push esi
mov ebx, edx
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x41e17d
cmp edx, 2
je 0x41e196
jmp 0x41e1a5
movzx edx, word [eax]
xor edx, 0x7273
movzx edi, byte [eax + 2]
xor edi, 0x4e
or di, dx
je 0x41e393
movzx edx, word [eax]
cmp edx, 0x7273
je 0x41e235
mov ecx, esi
call fcn.004240b0
test eax, eax
je 0x41e6c1
test bl, bl
je 0x41e6c1
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x41e1ff
mov ebx, eax
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, ebx
lea edx, [ecx + 0x20]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x2e
and byte [edi + ecx + 0x10], 0xc0
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x43cb98
mov dword [edi + ecx + 0x18], eax
lea eax, [edi + ecx]
add eax, 8
jmp 0x41e6c1
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x41e43a
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x41e43a
mov edi, ebx
mov ecx, esi
call fcn.00423ff0
test eax, eax
je 0x41e636
mov ebx, eax
mov eax, edi
xor edi, edi
test al, al
jne 0x41e2da
jmp 0x41e54f
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43c9e8
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
lea eax, [ecx + ebp]
add eax, 0x1c
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41e2c7
cmp byte [eax], 0x45
je 0x41e58e
mov ecx, esi
call fcn.00423ff0
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x41e6c1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x41e321
cmp eax, 0xfffff007
ja 0x41e280
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
jmp 0x41e280
cmp eax, 0xfffff007
ja 0x41e350
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2e
and byte [ebp + ecx + 0x10], 0xc0
lea edi, [ecx + ebp]
add edi, 8
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43cb98
lea eax, [ecx + ebp]
add eax, 0x18
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x41e2be
jmp 0x41e2c7
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.00423ec0
test eax, eax
je 0x41e636
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x41e5b5
cmp byte [eax], 0x49
jne 0x41e5b5
mov ecx, esi
xor edx, edx
call fcn.004194c0
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x41e6c1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e410
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43d148
jmp 0x41e5a7
mov ecx, esi
call fcn.00423ec0
test eax, eax
je 0x41e636
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x41e591
cmp byte [eax], 0x49
jne 0x41e591
mov ecx, esi
xor edx, edx
call fcn.004194c0
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x41e6c1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e4b2
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43d148
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x41e591
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43c9e8
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41e53c
cmp byte [eax], 0x45
je 0x41e58e
mov ecx, esi
call fcn.00423ff0
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x41e6c1
test edi, edi
je 0x41e583
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e4fd
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
jne 0x41e4ea
jmp 0x41e6c6
mov edi, ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x41e537
jmp 0x41e53c
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004240b0
test eax, eax
je 0x41e636
mov ebx, eax
jmp 0x41e652
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x41e5c1
cmp byte [eax], 0x45
je 0x41e63d
mov ecx, esi
call fcn.00423ff0
test eax, eax
je 0x41e636
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e60c
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x43c9e8
jmp 0x41e5a7
xor eax, eax
jmp 0x41e6c1
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004240b0
mov ebx, eax
mov eax, 0
test ebx, ebx
je 0x41e6c1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x41e68c
push 0x1000
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x41e6c6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
lea eax, [ecx + ebp]
add eax, 8
movzx edx, byte [ebp + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebp + ecx + 0x14], dl
mov dword [ebp + ecx + 8], 0x43c9e8
mov dword [ebp + ecx + 0x18], edi
mov dword [ebp + ecx + 0x1c], ebx
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040d190
int3