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

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x10], 0
mov ebp, 0x14c
jmp 0x405200
mov edi, dword [esi + 0x218]
movzx eax, word [edi + 0x226]
movzx ecx, word [edi + 0x224]
movzx ebx, word [esp + 0x10]
imul eax, ecx
cmp ebx, eax
jl 0x405231
push 0
push 0x31
push str.c:userspsk_elp1desktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00513100
add esp, 0xc
mov edx, dword [edi + 0x220]
mov ecx, dword [edx + ebx*8]
test ecx, ecx
je 0x405252
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.004040a0
mov dword [eax + ebp], edi
jmp 0x40525e
call fcn.004040a0
mov dword [eax + ebp], 0
inc dword [esp + 0x10]
add ebp, 4
cmp ebp, 0x160
jl 0x405200
mov dword [esp + 0x10], 0
mov ebx, 0x160
lea ebx, [ebx]
mov edi, dword [esi + 0x21c]
movzx eax, word [edi + 0x226]
movzx ecx, word [edi + 0x224]
movzx ebp, word [esp + 0x10]
imul eax, ecx
cmp ebp, eax
jl 0x4052b1
push 0
push 0x31
push str.c:userspsk_elp1desktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00513100
add esp, 0xc
mov edx, dword [edi + 0x220]
mov ecx, dword [edx + ebp*8]
test ecx, ecx
je 0x4052d2
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.004040a0
mov dword [eax + ebx], edi
jmp 0x4052de
call fcn.004040a0
mov dword [eax + ebx], 0
inc dword [esp + 0x10]
add ebx, 4
cmp ebx, 0x170
jl 0x405280
mov dword [esp + 0x10], 0
mov ebx, 0x170
lea ebx, [ebx]
mov edi, dword [esi + 0x220]
movzx eax, word [edi + 0x226]
movzx ecx, word [edi + 0x224]
movzx ebp, word [esp + 0x10]
imul eax, ecx
cmp ebp, eax
jl 0x405331
push 0
push 0x31
push str.c:userspsk_elp1desktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00513100
add esp, 0xc
mov edx, dword [edi + 0x220]
mov ecx, dword [edx + ebp*8]
test ecx, ecx
je 0x405352
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.004040a0
mov dword [eax + ebx], edi
jmp 0x40535e
call fcn.004040a0
mov dword [eax + ebx], 0
inc dword [esp + 0x10]
add ebx, 4
cmp ebx, 0x178
jl 0x405300
mov dword [esp + 0x10], 0
mov ebx, 0x178
lea ebx, [ebx]
mov edi, dword [esi + 0x224]
movzx eax, word [edi + 0x226]
movzx ecx, word [edi + 0x224]
movzx ebp, word [esp + 0x10]
imul eax, ecx
cmp ebp, eax
jl 0x4053b1
push 0
push 0x31
push str.c:userspsk_elp1desktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00513100
add esp, 0xc
mov edx, dword [edi + 0x220]
mov ecx, dword [edx + ebp*8]
test ecx, ecx
je 0x4053d2
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx edi, ax
call fcn.004040a0
mov dword [eax + ebx], edi
jmp 0x4053de
call fcn.004040a0
mov dword [eax + ebx], 0
inc dword [esp + 0x10]
add ebx, 4
cmp ebx, 0x180
jl 0x405380
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e5
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x240], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e6
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x180], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ea
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x184], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e7
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x228], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3e8
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x22c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3eb
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x188], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ed
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x18c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ec
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x250], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ee
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x254], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3ef
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x190], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f0
mov ecx, esi
call edx
cmp dword [eax + 0x2f8], 0
je 0x405587
call fcn.004040a0
mov dword [eax + 0x12c], 1
jmp 0x405596
call fcn.004040a0
mov dword [eax + 0x12c], 0
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f2
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0xf0], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f4
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0xf4], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f6
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0xf8], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f8
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x194], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3fa
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x198], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f3
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x218], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f5
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x220], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x3f7
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x21c], edi
mov eax, dword [esi]
push 0x3f9
mov edx, dword [eax + 0x60]
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x258], edi
mov ebx, 0x401
mov edi, 0x25c
mov dword [esp + 0x10], 5
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 6]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov ebp, eax
call fcn.004040a0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x4056f0
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x408
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x19c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x406
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov edi, eax
call fcn.004040a0
mov dword [eax + 0x204], edi
mov ebx, 0x426
mov edi, 0x270
mov dword [esp + 0x10], 4
lea esp, [esp]
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 5]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov ebp, eax
call fcn.004040a0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x4057a0
mov ebx, 0x42d
mov edi, 0x280
mov dword [esp + 0x10], 2
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov ebp, eax
call fcn.004040a0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x405800
mov ebx, 0x432
mov edi, 0x288
mov dword [esp + 0x10], 2
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004279d0
push eax
call fcn.00561c28
add esp, 4
mov ebp, eax
call fcn.004040a0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x405860
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x434
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0xfc], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x435
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x10c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x436
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x110], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x437
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x118], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x438
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x120], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x43b
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + 0x148], edi
xor ebx, ebx
mov edi, 0x290
mov edi, edi
call fcn.004040a0
mov ecx, dword [esi + edi - 0x2c]
mov dword [eax + edi], ecx
mov edx, dword [esi]
mov edx, dword [edx + 0x60]
lea eax, [ebx + 0x41b]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.004040a0
mov dword [eax + edi - 0xbc], ebp
add edi, 4
inc ebx
cmp edi, 0x2a8
jl 0x405970
mov esi, dword [esi + 0x228]
movzx eax, word [esi + 0x226]
movzx ecx, word [esi + 0x224]
imul eax, ecx
test eax, eax
jg 0x4059d6
push 0
push 0x31
push str.c:userspsk_elp1desktop_src_update_src_client_mh._Interface_cIconGridDialog.h
call fcn.00513100
add esp, 0xc
mov edx, dword [esi + 0x220]
mov ecx, dword [edx]
test ecx, ecx
je 0x4059f9
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
movzx esi, ax
call fcn.004040a0
mov dword [eax + 0x2a8], esi
jmp 0x405a08
call fcn.004040a0
mov dword [eax + 0x2a8], 0
movzx esi, word [0x6e112c]
call fcn.004040a0
mov dword [eax + 0x230], esi
call fcn.004040a0
pop edi
pop esi
pop ebp
mov ecx, eax
pop ebx
add esp, 4
jmp fcn.004014d0