Function at 0x423e50
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
cmp byte [0x506391], 0
jne 0x423e76
cmp dword [0x5076ec], 0
jne 0x423e76
mov eax, dword [0x5062c4]
cmp eax, 0xd
jne 0x423e92
call fcn.004256e0
mov dword [0x507638], 0
mov dword [0x507634], 0
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [0x5062bc], 0
je 0x423f51
cmp eax, 6
ja case.0x423ea8.3
jmp dword [eax*4 + 0x4f23a8]
push 0x4f2282
push dword [0x5062c0]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x423e71
cmp dword [0x5062bc], 0
je 0x42425f
mov eax, dword [0x5062c0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x42425f
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x42425f
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
push eax
push dword [0x5062c0]
call ebx
add esp, 8
test eax, eax
je 0x424257
mov eax, dword [edi]
test eax, eax
je 0x423f3c
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x423f19
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x423f13
jmp 0x42425f
xor ebx, ebx
cmp eax, 2
sete bl
inc ebx
cmp dword [0x505d8c], 0
jne 0x424073
mov dword [0x505d84], 0
mov dword [0x505d88], 0
mov eax, dword [0x5052b0]
mov dword [0x505d8c], eax
mov dword [0x505d90], 0
mov dword [0x505d94], 0
mov dword [0x505d98], eax
mov dword [0x505d9c], 0
mov dword [0x505da0], 0
mov dword [0x505da4], eax
mov dword [0x505dcc], 0
mov dword [0x505dd0], 0
mov dword [0x505dd4], eax
mov dword [0x505dd8], 0
mov dword [0x505ddc], 0
mov dword [0x505de0], eax
mov dword [0x505de4], 0
mov dword [0x505de8], 0
mov dword [0x505dec], eax
mov dword [0x505df0], 0
mov dword [0x505df4], 0
mov dword [0x505df8], eax
mov dword [0x505da8], 0
mov dword [0x505dac], 0
mov dword [0x505db0], eax
mov dword [0x505db4], 0
mov dword [0x505db8], 0
mov dword [0x505dbc], eax
mov dword [0x505dc0], 0
mov dword [0x505dc4], 0
mov dword [0x505dc8], eax
push 0x505d84
call fcn.0047eb20
add esp, 4
mov ecx, 0x505d9c
mov edx, ebx
call fcn.00425c70
test eax, eax
jne 0x42417a
mov ecx, 0x505d84
mov edx, ebx
call fcn.00425c70
test eax, eax
jne 0x42417a
mov ecx, 0x505d90
mov edx, ebx
call fcn.00425c70
test eax, eax
jne 0x42417a
mov ecx, 0x505da8
mov edx, ebx
call fcn.00425c70
test eax, eax
jne 0x42417a
mov ecx, 0x5076a8
mov edx, ebx
call fcn.00425c70
mov ecx, eax
test eax, eax
mov eax, 0x4ac788
cmovne eax, ecx
jmp 0x42417a
push 0x4f2282
push dword [0x5062c0]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x423e71
cmp dword [0x5062bc], 0
je 0x424310
mov eax, dword [0x5062c0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424310
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424310
lea ebx, [esi + 8]
jmp 0x4241ec
push 0x4f2282
push dword [0x5062c0]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x423e71
mov ecx, 0x5062b8
mov edx, 2
call fcn.00425c70
test eax, eax
je 0x424310
mov ecx, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x425410
call fcn.00424ab0
mov eax, dword [0x5062c4]
cmp eax, 0xc
je 0x424220
cmp eax, 4
je 0x424229
cmp eax, 3
jne 0x42423f
mov ecx, 1
jmp 0x42422b
mov ecx, dword [0x5062c0]
mov edx, 1
call fcn.00423280
jmp 0x4242dc
mov ecx, dword [0x5062c0]
xor edx, edx
call fcn.00423280
jmp 0x4242dc
mov eax, dword [esi + 0x5c]
add esi, 0x58
add ebx, 0x58
test eax, eax
je 0x424310
cmp dword [esi + 0x54], 0
jne 0x4241db
lea ebp, [esi + 0x28]
mov edi, ebx
push eax
push dword [0x5062c0]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x424308
mov eax, dword [edi]
test eax, eax
je 0x4241db
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x4241f7
jmp 0x4241db
xor ecx, ecx
mov edx, 1
jmp 0x42422d
xor ecx, ecx
xor edx, edx
call fcn.00424dd0
test al, al
jne 0x423e8a
jmp 0x424310
push 1
push eax
call fcn.00422750
add esp, 8
test al, al
je 0x424310
jmp 0x4242dc
test esi, esi
jne 0x42462f
call fcn.00424ab0
call fcn.00481920
mov esi, eax
push str.kitty
push dword [eax + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
mov edi, 8
test eax, eax
je 0x4242cd
push str.konsole
push dword [esi + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x4242cd
push str.wezterm
push dword [esi + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x4242cd
push str.wayst
push dword [esi + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
lea edi, [ecx + ecx*2]
add edi, 8
push 0
push edi
call fcn.00422750
add esp, 8
test al, al
je 0x4242e8
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004256e0
mov ecx, 1
xor edx, edx
call fcn.00424dd0
test al, al
jne 0x423e8a
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4246d0
test esi, esi
jne 0x42462f
cmp dword [0x505d8c], 0
jne 0x424429
mov dword [0x505d84], 0
mov dword [0x505d88], 0
mov eax, dword [0x5052b0]
mov dword [0x505d8c], eax
mov dword [0x505d90], 0
mov dword [0x505d94], 0
mov dword [0x505d98], eax
mov dword [0x505d9c], 0
mov dword [0x505da0], 0
mov dword [0x505da4], eax
mov dword [0x505dcc], 0
mov dword [0x505dd0], 0
mov dword [0x505dd4], eax
mov dword [0x505dd8], 0
mov dword [0x505ddc], 0
mov dword [0x505de0], eax
mov dword [0x505de4], 0
mov dword [0x505de8], 0
mov dword [0x505dec], eax
mov dword [0x505df0], 0
mov dword [0x505df4], 0
mov dword [0x505df8], eax
mov dword [0x505da8], 0
mov dword [0x505dac], 0
mov dword [0x505db0], eax
mov dword [0x505db4], 0
mov dword [0x505db8], 0
mov dword [0x505dbc], eax
mov dword [0x505dc0], 0
mov dword [0x505dc4], 0
mov dword [0x505dc8], eax
push 0x505d84
call fcn.0047eb20
add esp, 4
cmp dword [0x505da0], 0
je 0x4244b9
mov eax, dword [0x505da4]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x4244b9
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x4244b9
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop word cs:[eax + eax]
push eax
push dword [0x505da4]
call ebx
add esp, 8
test eax, eax
je 0x4244b1
mov eax, dword [edi]
test eax, eax
je 0x42449f
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x424480
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x42446d
jmp 0x4244b9
test esi, esi
jne 0x42462f
cmp dword [0x505d88], 0
je 0x424539
mov eax, dword [0x505d8c]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424539
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424539
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop
push eax
push dword [0x505d8c]
call ebx
add esp, 8
test eax, eax
je 0x424531
mov eax, dword [edi]
test eax, eax
je 0x42451f
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x424500
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x4244f9
jmp 0x424539
test esi, esi
jne 0x42462f
cmp dword [0x505d94], 0
je 0x4245b4
mov eax, dword [0x505d98]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x4245b4
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x4245b4
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
push eax
push dword [0x505d98]
call ebx
add esp, 8
test eax, eax
je 0x4245b0
mov eax, dword [edi]
test eax, eax
je 0x42459e
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x42457f
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x424579
jmp 0x4245b4
test esi, esi
jne 0x42462f
cmp dword [0x505dac], 0
je 0x424636
mov eax, dword [0x505db0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424636
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424636
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
push eax
push dword [0x505db0]
call ebx
add esp, 8
test eax, eax
je 0x42462b
mov eax, dword [edi]
test eax, eax
je 0x424619
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x4245fa
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x4245f4
jmp 0x424636
test esi, esi
je 0x424636
mov ecx, esi
jmp 0x42417c
xor edi, edi
cmp dword [0x5076ac], 0
je 0x4246b3
mov eax, dword [0x5076b0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x4246b3
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x4246b3
lea ebx, [esi + 8]
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea edi, [esi + 0x28]
mov dword [esp], ebx
push eax
push dword [0x5076b0]
call ebp
add esp, 8
test eax, eax
je 0x4246b1
mov eax, dword [ebx]
test eax, eax
je 0x42469d
lea ecx, [ebx + 4]
cmp ebx, edi
mov ebx, ecx
jbe 0x42467e
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov ebx, dword [esp]
add ebx, 0x58
test eax, eax
jne 0x424678
xor edi, edi
jmp 0x4246b3
mov edi, esi
test edi, edi
mov esi, 0x4ac788
cmovne esi, edi
mov ecx, esi
jmp 0x42417c
push ebp
push ebx
push edi
push esi
push eax
cmp dword [0x505d8c], 0
je 0x4246f0
cmp dword [0x505da0], 0
jne 0x424809
jmp 0x424889
mov dword [0x505d84], 0
mov dword [0x505d88], 0
mov eax, dword [0x5052b0]
mov dword [0x505d8c], eax
mov dword [0x505d90], 0
mov dword [0x505d94], 0
mov dword [0x505d98], eax
mov dword [0x505d9c], 0
mov dword [0x505da0], 0
mov dword [0x505da4], eax
mov dword [0x505dcc], 0
mov dword [0x505dd0], 0
mov dword [0x505dd4], eax
mov dword [0x505dd8], 0
mov dword [0x505ddc], 0
mov dword [0x505de0], eax
mov dword [0x505de4], 0
mov dword [0x505de8], 0
mov dword [0x505dec], eax
mov dword [0x505df0], 0
mov dword [0x505df4], 0
mov dword [0x505df8], eax
mov dword [0x505da8], 0
mov dword [0x505dac], 0
mov dword [0x505db0], eax
mov dword [0x505db4], 0
mov dword [0x505db8], 0
mov dword [0x505dbc], eax
mov dword [0x505dc0], 0
mov dword [0x505dc4], 0
mov dword [0x505dc8], eax
push 0x505d84
call fcn.0047eb20
add esp, 4
cmp dword [0x505da0], 0
je 0x424889
mov eax, dword [0x505da4]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424889
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424889
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop word cs:[eax + eax]
push eax
push dword [0x505da4]
call ebx
add esp, 8
test eax, eax
je 0x424881
mov eax, dword [edi]
test eax, eax
je 0x42486f
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x424850
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x424840
jmp 0x424889
test esi, esi
jne 0x424a9f
cmp dword [0x505d88], 0
je 0x424909
mov eax, dword [0x505d8c]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424909
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424909
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop
push eax
push dword [0x505d8c]
call ebx
add esp, 8
test eax, eax
je 0x424901
mov eax, dword [edi]
test eax, eax
je 0x4248ef
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x4248d0
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x4248c9
jmp 0x424909
test esi, esi
jne 0x424a9f
cmp dword [0x505d94], 0
je 0x424989
mov eax, dword [0x505d98]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424989
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424989
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop
push eax
push dword [0x505d98]
call ebx
add esp, 8
test eax, eax
je 0x424981
mov eax, dword [edi]
test eax, eax
je 0x42496f
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x424950
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x424949
jmp 0x424989
test esi, esi
jne 0x424a9f
cmp dword [0x505dac], 0
je 0x424a09
mov eax, dword [0x505db0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424a09
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424a09
lea edi, [esi + 8]
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea ebp, [esi + 0x28]
mov dword [esp], edi
nop
push eax
push dword [0x505db0]
call ebx
add esp, 8
test eax, eax
je 0x424a01
mov eax, dword [edi]
test eax, eax
je 0x4249ef
lea ecx, [edi + 4]
cmp edi, ebp
mov edi, ecx
jbe 0x4249d0
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov edi, dword [esp]
add edi, 0x58
test eax, eax
jne 0x4249c9
jmp 0x424a09
test esi, esi
jne 0x424a9f
xor edi, edi
cmp dword [0x5076ac], 0
je 0x424a95
mov eax, dword [0x5076b0]
movsx esi, byte [eax]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add esp, 4
test eax, eax
je 0x424a95
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
mov esi, dword [eax*4 + 0x505144]
mov eax, dword [esi + 4]
test eax, eax
je 0x424a95
lea ebx, [esi + 8]
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
lea edi, [esi + 0x28]
mov dword [esp], ebx
nop word cs:[eax + eax]
push eax
push dword [0x5076b0]
call ebp
add esp, 8
test eax, eax
je 0x424a93
mov eax, dword [ebx]
test eax, eax
je 0x424a7f
lea ecx, [ebx + 4]
cmp ebx, edi
mov ebx, ecx
jbe 0x424a60
mov eax, dword [esi + 0x5c]
add esi, 0x58
mov ebx, dword [esp]
add ebx, 0x58
test eax, eax
jne 0x424a4f
xor edi, edi
jmp 0x424a95
mov edi, esi
test edi, edi
mov esi, 0x4ac788
cmovne esi, edi
mov ecx, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
jmp 0x425410
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov ebp, ecx
cmp dword [0x506378], 0
jne 0x4254df
mov esi, dword [ebp + 0x50]
test esi, esi
jne 0x425438
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x4254df
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
je 0x4254df
mov edi, eax
mov eax, dword [0x506374]
mov ecx, eax
sub ecx, 1
jb 0x425464
cmp ecx, edi
jb 0x425464
xor ecx, ecx
mov eax, dword [0x50637c]
jmp 0x4254bc
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
mov edx, edi
inc edx
nop word cs:[eax + eax]
mov ebx, ecx
add ecx, ecx
cmp edx, ebx
ja 0x425480
test eax, eax
je 0x4254a3
push ebx
push dword [0x50637c]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov ecx, dword [0x506378]
jmp 0x4254b1
push ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov byte [eax], 0
xor ecx, ecx
mov dword [0x50637c], eax
mov dword [0x506374], ebx
add ecx, eax
push edi
push esi
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [0x506378]
add eax, edi
mov dword [0x506378], eax
mov ecx, dword [0x50637c]
mov byte [ecx + eax], 0
cmp dword [0x50636c], 0
jne 0x42559f
mov esi, dword [ebp + 0x4c]
test esi, esi
jne 0x4254fe
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x42559f
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
je 0x42559f
mov edi, eax
mov eax, dword [0x506368]
mov ecx, eax
sub ecx, 1
jb 0x42552a
cmp ecx, edi
jb 0x42552a
xor ecx, ecx
mov eax, dword [0x506370]
jmp 0x42557c
cmp eax, 2
mov ecx, 0x20
cmovae ecx, eax
mov edx, edi
inc edx
nop dword [eax + eax]
mov ebx, ecx
add ecx, ecx
cmp edx, ebx
ja 0x425540
test eax, eax
je 0x425563
push ebx
push dword [0x506370]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov ecx, dword [0x50636c]
jmp 0x425571
push ebx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov byte [eax], 0
xor ecx, ecx
mov dword [0x506370], eax
mov dword [0x506368], ebx
add ecx, eax
push edi
push esi
push ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [0x50636c]
add eax, edi
mov dword [0x50636c], eax
mov ecx, dword [0x506370]
mov byte [ecx + eax], 0
mov dword [esp + 8], ebp
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x4256be
mov eax, dword [esp + 8]
lea ebx, [eax + 0x28]
xor ebp, ebp
nop word [eax + eax]
lea edi, [ebp*2]
add edi, ebp
cmp dword [edi*4 + 0x5062cc], 0
jne 0x4256aa
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
je 0x4256aa
mov edx, eax
lea eax, [edi*4 + 0x5062cc]
mov dword [esp + 4], eax
mov eax, dword [eax - 4]
mov ecx, eax
sub ecx, 1
jb 0x42560e
cmp ecx, edx
jb 0x42560e
mov eax, dword [edi*4 + 0x5062d0]
xor ecx, ecx
jmp 0x425688
mov dword [esp], edi
cmp eax, 2
mov ecx, eax
mov edi, edx
mov edx, 0x20
cmovb ecx, edx
mov dword [esp + 0xc], edi
lea edx, [edi + 1]
nop word [eax + eax]
mov edi, ecx
add ecx, ecx
cmp edx, edi
ja 0x425630
test eax, eax
je 0x425662
push edi
mov eax, dword [esp + 4]
push dword [eax*4 + 0x5062d0]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
mov ecx, dword [esp]
mov dword [ecx*4 + 0x5062d0], eax
mov edx, dword [esp + 4]
mov ecx, dword [edx]
jmp 0x42567e
push edi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov byte [eax], 0
mov ecx, dword [esp]
mov dword [ecx*4 + 0x5062d0], eax
xor ecx, ecx
mov edx, dword [esp + 4]
mov dword [edx - 4], edi
mov edi, dword [esp]
mov edx, dword [esp + 0xc]
add ecx, eax
push edx
push esi
push ecx
mov esi, edx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
add esi, dword [eax]
mov dword [eax], esi
mov eax, dword [edi*4 + 0x5062d0]
mov byte [eax + esi], 0
cmp ebp, 7
ja 0x4256be
inc ebp
mov esi, dword [ebx + 4]
add ebx, 4
test esi, esi
jne 0x4255c0
mov eax, dword [esp + 8]
mov ecx, dword [eax]
mov edx, 1
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.00423280