Function at 0x413290
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov edi, edx
test edx, edx
mov eax, 0x502288
mov ebx, ecx
mov dword [esp + 0xc], 0
cmovne eax, edx
push dword [ebp + 8]
push eax
push str.PRAGMA___w_.table_info_Q_
call fcn.0041ef10
add esp, 0xc
mov esi, eax
lea eax, [esp + 0xc]
push 0
push eax
push 0xffffffffffffffff
push esi
push ebx
call fcn.0042cf00
add esp, 0x14
push esi
call fcn.0041c220
add esp, 4
test edi, edi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
je 0x4133c1
movzx ebx, byte [edi]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
cmp ebx, 0x5f
je 0x413316
test eax, eax
je 0x413354
xor esi, esi
jmp 0x413326
movzx ebx, byte [edi + esi + 1]
inc esi
test bl, bl
je 0x413342
movzx eax, bl
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
add esp, 4
cmp bl, 0x5f
je 0x413320
test eax, eax
jne 0x413320
jmp 0x413354
push esi
push edi
call fcn.0042ed70
add esp, 8
test eax, eax
je 0x413620
push 0x50292c
push edi
call fcn.0041f5c0
add esp, 8
test eax, eax
mov ecx, 0x22
cmove ecx, eax
movsx eax, cl
mov ecx, esp
mov edx, edi
push eax
call fcn.00413650
add esp, 4
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
lea ecx, [esi + esi + 2]
cmp ecx, eax
jge 0x413391
mov eax, dword [esp]
jmp 0x4133b1
lea eax, [esi + eax*2 + 0x16]
mov dword [esp + 8], eax
push eax
push dword [esp + 4]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
mov dword [esp], eax
je 0x413627
lea ecx, [esi + 1]
mov byte [eax + esi], 0x2e
mov dword [esp + 4], ecx
mov byte [eax + esi + 1], 0
mov esi, dword [ebp + 8]
movzx ebx, byte [esi]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
cmp ebx, 0x5f
mov cl, 0x22
je 0x4133dc
test eax, eax
je 0x41342d
xor esi, esi
test bl, bl
je 0x413416
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
jmp 0x4133fd
mov eax, dword [ebp + 8]
movzx ebx, byte [eax + esi + 1]
inc esi
test bl, bl
je 0x413416
movzx eax, bl
push eax
call edi
add esp, 4
cmp bl, 0x5f
je 0x4133f0
test eax, eax
jne 0x4133f0
mov esi, dword [ebp + 8]
mov cl, 0x22
jmp 0x41342d
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.0042ed70
add esp, 8
test eax, eax
mov ecx, 0x22
cmove ecx, eax
movsx eax, cl
mov ecx, esp
mov edx, esi
push eax
call fcn.00413650
add esp, 4
push dword [esp + 0xc]
call fcn.00426830
add esp, 4
mov bl, 1
cmp eax, 0x64
jne 0x4135a1
mov esi, 0x502961
jmp 0x4134a1
xor esi, esi
push esi
mov esi, dword [esp + 0x14]
push esi
call fcn.0042ed70
add esp, 8
mov ecx, eax
test eax, eax
mov edx, 0x22
cmovne ecx, edx
movsx eax, cl
mov ecx, esp
mov edx, esi
push eax
call fcn.00413650
add esp, 4
push dword [esp + 0xc]
call fcn.00426830
add esp, 4
mov esi, 0x501b07
cmp eax, 0x64
jne 0x41359f
push 1
push dword [esp + 0x10]
call fcn.00428220
add esp, 8
lea edi, [esi - 1]
mov dword [esp + 0x10], eax
nop word cs:[eax + eax]
cmp byte [edi + 1], 0
lea edi, [edi + 1]
jne 0x4134c0
sub edi, esi
mov dword [esp + 0x18], esi
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
and edi, 0x3fffffff
lea edx, [esi + edi]
lea ecx, [esi + edx + 1]
mov dword [esp + 0x14], edx
cmp ecx, eax
jge 0x413500
mov ebx, dword [esp]
jmp 0x413522
lea eax, [edx + eax*2 + 0x15]
mov dword [esp + 8], eax
push eax
push dword [esp + 4]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov ebx, eax
test eax, eax
mov dword [esp], eax
je 0x413627
add esi, ebx
push edi
push dword [esp + 0x1c]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [esp + 4], eax
mov byte [ebx + eax], 0
movzx ebx, byte [esi]
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
cmp ebx, 0x5f
mov cl, 0x22
je 0x41355e
test eax, eax
je 0x413477
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalnum]
test bl, bl
je 0x41345b
xor esi, esi
jmp 0x413582
mov eax, dword [esp + 0x10]
movzx ebx, byte [eax + esi + 1]
inc esi
test bl, bl
je 0x41345d
movzx eax, bl
push eax
call edi
add esp, 4
cmp bl, 0x5f
je 0x413570
test eax, eax
jne 0x413570
mov esi, dword [esp + 0x10]
mov cl, 0x22
jmp 0x413477
xor ebx, ebx
mov edi, dword [esp + 4]
mov eax, dword [esp + 8]
lea ecx, [edi + edi + 2]
cmp ecx, eax
jge 0x4135b6
mov esi, dword [esp]
jmp 0x4135d4
lea eax, [edi + eax*2 + 0x16]
mov dword [esp + 8], eax
push eax
push dword [esp + 4]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov esi, eax
test eax, eax
mov dword [esp], eax
je 0x413627
lea eax, [edi + 1]
mov byte [esi + edi], 0x29
mov dword [esp + 4], eax
mov byte [esi + edi + 1], 0
push dword [esp + 0xc]
call fcn.00425440
add esp, 4
test bl, bl
je 0x413616
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 4
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
jmp 0x41336c
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Error:_out_of_memory_n
push eax
call fcn.00404690
add esp, 8
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
nop word [eax + eax]