Function at 0x405420
Capabilities:
Create directory
Write file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebp, ebp
lea esp, [esp]
mov edi, dword [esi + 0x212]
movzx eax, word [edi + 0x21e]
movzx ecx, word [edi + 0x21c]
imul eax, ecx
movzx ebx, bp
cmp ebx, eax
jl 0x40542f
push 0
push 0x31
push str.c:userslovemedesktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00516310
add esp, 0xc
mov edx, dword [edi + 0x218]
mov ecx, dword [edx + ebx*8]
test ecx, ecx
je 0x405454
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.00404230
mov dword [eax + ebp*4 + 0x14a], edi
jmp 0x405464
call fcn.00404230
mov dword [eax + ebp*4 + 0x14a], 0
inc ebp
cmp ebp, 5
jl 0x405400
xor ebp, ebp
lea esp, [esp]
mov edi, dword [esi + 0x216]
movzx eax, word [edi + 0x21e]
movzx ecx, word [edi + 0x21c]
imul eax, ecx
movzx ebx, bp
cmp ebx, eax
jl 0x40549f
push 0
push 0x31
push str.c:userslovemedesktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00516310
add esp, 0xc
mov edx, dword [edi + 0x218]
mov ecx, dword [edx + ebx*8]
test ecx, ecx
je 0x4054c4
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.00404230
mov dword [eax + ebp*4 + 0x15e], edi
jmp 0x4054d4
call fcn.00404230
mov dword [eax + ebp*4 + 0x15e], 0
inc ebp
cmp ebp, 4
jl 0x405470
xor ebp, ebp
lea esp, [esp]
mov edi, dword [esi + 0x21a]
movzx eax, word [edi + 0x21e]
movzx ecx, word [edi + 0x21c]
imul eax, ecx
movzx ebx, bp
cmp ebx, eax
jl 0x40550f
push 0
push 0x31
push str.c:userslovemedesktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00516310
add esp, 0xc
mov edx, dword [edi + 0x218]
mov ecx, dword [edx + ebx*8]
test ecx, ecx
je 0x405534
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.00404230
mov dword [eax + ebp*4 + 0x16e], edi
jmp 0x405544
call fcn.00404230
mov dword [eax + ebp*4 + 0x16e], 0
inc ebp
cmp ebp, 2
jl 0x4054e0
xor ebp, ebp
lea esp, [esp]
mov edi, dword [esi + 0x21e]
movzx eax, word [edi + 0x21e]
movzx ecx, word [edi + 0x21c]
imul eax, ecx
movzx ebx, bp
cmp ebx, eax
jl 0x40557f
push 0
push 0x31
push str.c:userslovemedesktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00516310
add esp, 0xc
mov edx, dword [edi + 0x218]
mov ecx, dword [edx + ebx*8]
test ecx, ecx
je 0x4055a4
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.00404230
mov dword [eax + ebp*4 + 0x176], edi
jmp 0x4055b4
call fcn.00404230
mov dword [eax + ebp*4 + 0x176], 0
inc ebp
cmp ebp, 2
jl 0x405550
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e5
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x23e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e6
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x17e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ea
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x182], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e7
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x226], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e8
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x22a], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3eb
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x186], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ed
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x18a], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ec
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x24e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ee
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x252], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ef
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x18e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f0
mov ecx, esi
call edx
xor ebx, ebx
cmp dword [eax + 0x2ee], ebx
je 0x405755
call fcn.00404230
mov dword [eax + 0x12a], 1
jmp 0x405760
call fcn.00404230
mov dword [eax + 0x12a], ebx
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f2
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0xee], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f4
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0xf2], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f6
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0xf6], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f8
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x192], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3fa
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x196], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f3
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x216], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f5
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x21e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f7
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x21a], edi
mov eax, dword [esi]
push 0x3f9
mov edx, dword [eax + 0x60]
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x256], edi
mov edi, 0x401
mov dword [esp + 0x10], 5
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [edi - 6]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + ebx + 0x19e], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov ebp, eax
call fcn.00404230
mov dword [eax + ebx + 0x25a], ebp
inc edi
add ebx, 4
dec dword [esp + 0x10]
jne 0x4058b4
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x408
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x19a], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x406
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov edi, eax
call fcn.00404230
mov dword [eax + 0x202], edi
xor ebx, ebx
mov edi, 0x426
mov dword [esp + 0x10], 4
mov edi, edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [edi - 5]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + ebx + 0x1b2], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov ebp, eax
call fcn.00404230
mov dword [eax + ebx + 0x26e], ebp
inc edi
add ebx, 4
dec dword [esp + 0x10]
jne 0x405960
xor ebx, ebx
mov edi, 0x42d
mov dword [esp + 0x10], 2
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [edi - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + ebx + 0x1c2], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov ebp, eax
call fcn.00404230
mov dword [eax + ebx + 0x27e], ebp
inc edi
add ebx, 4
dec dword [esp + 0x10]
jne 0x4059c0
xor ebx, ebx
mov edi, 0x432
mov dword [esp + 0x10], 2
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [edi - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + ebx + 0x1ca], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00428860
push eax
call fcn.00566148
add esp, 4
mov ebp, eax
call fcn.00404230
mov dword [eax + ebx + 0x286], ebp
inc edi
add ebx, 4
dec dword [esp + 0x10]
jne 0x405a20
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x434
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0xfa], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x435
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x10a], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x436
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x10e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x437
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x116], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x438
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x11e], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x43b
mov ecx, esi
call edx
mov edi, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + 0x146], edi
xor edi, edi
lea ecx, [ecx]
call fcn.00404230
mov ecx, dword [esi + edi*4 + 0x25e]
mov dword [eax + edi*4 + 0x28e], ecx
mov edx, dword [esi]
mov edx, dword [edx + 0x60]
lea eax, [edi + 0x41b]
push eax
mov ecx, esi
call edx
mov ebx, dword [eax + 0x2b6]
call fcn.00404230
mov dword [eax + edi*4 + 0x1d2], ebx
inc edi
cmp edi, 6
jl 0x405b30
mov esi, dword [esi + 0x222]
movzx eax, word [esi + 0x21e]
movzx ecx, word [esi + 0x21c]
imul eax, ecx
test eax, eax
jg 0x405b97
push 0
push 0x31
push str.c:userslovemedesktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00516310
add esp, 0xc
mov edx, dword [esi + 0x218]
mov ecx, dword [edx]
test ecx, ecx
je 0x405bba
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx esi, ax
call fcn.00404230
mov dword [eax + 0x2a6], esi
jmp 0x405bc9
call fcn.00404230
mov dword [eax + 0x2a6], 0
movzx esi, word [0x6dd984]
call fcn.00404230
mov dword [eax + 0x22e], esi
call fcn.00404230
pop edi
pop esi
pop ebp
mov ecx, eax
pop ebx
add esp, 4
jmp fcn.004014d0