Function at 0x40a540
Capabilities:
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x46f790
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48e820]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov dword [esp + 0x5c], 2
call fcn.0043adc8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40a589
push 0x80004005
call fcn.0040fef0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x24]
mov byte [esp + 0x60], 3
call fcn.004104e0
push 0xc
push str.DownFull.txt
lea ecx, [esp + 0x28]
call fcn.0040ecb0
mov ebx, dword [esp + 0x20]
push ecx
add ebx, 0xfffffff0
mov dword [esp + 0x3c], esp
mov esi, esp
push ebx
mov dword [esp + 0x40], ebx
call fcn.00410330
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00428960
add esp, 4
test eax, eax
je 0x40a695
mov byte [esp + 0x5c], 2
lea edx, [ebx + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x40a60a
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
mov byte [esp + 0x5c], 1
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a62f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 0
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a654
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5c], 0xffffffff
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40a67c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
push str.MYDATA
push 0xbc
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
je 0x40ab6c
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x40ab6c
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, dword [eax + ebp - 4]
cmp esi, 0x1388
mov ecx, dword [eax + ebp - 8]
mov edi, dword [eax + ebp - 0xc]
mov dword [esp + 0x4c], ecx
ja 0x40ab6c
xor ecx, ecx
mov eax, esi
mov edx, 0x108
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042ff09
mov ecx, esi
imul ecx, ecx, 0x108
add esp, 4
push ecx
add edi, ebp
push edi
push eax
mov dword [esp + 0x38], eax
call fcn.004585d0
mov ebx, dword [esp + 0x74]
add esp, 0xc
test esi, esi
jle 0x40aadb
mov edi, dword [esp + 0x2c]
add edi, 0x100
mov dword [esp + 0x28], esi
mov edi, edi
lea ecx, [esp + 0x18]
call fcn.00410780
lea edx, [edi - 0x100]
push edx
lea ecx, [esp + 0x18]
mov byte [esp + 0x60], 4
call fcn.00410560
lea ecx, [esp + 0x34]
call fcn.00410780
mov byte [esp + 0x5c], 6
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x40a797
push 0x47a9d8
push ecx
call fcn.00455250
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40a797
sub eax, ecx
cmp eax, 0xffffffff
jne 0x40aa5b
push ecx
push ebx
lea eax, [esp + 0x20]
push str._s_s
push eax
call fcn.00410070
add esp, 0x10
lea ecx, [esp + 0x24]
call fcn.00410780
push str.serchWinSkin.swftotal_skin.xmlonline.swflogo.xmlins.htmlhelpInfo.pngflvswf.swfdoolandSkin.swfdoolan_default.xmldolandLogo.pngcoverFlash.jpgcopyborad_bg.pngbuyBG.pngbtnup.pngbtnover.pngbtndown.pngace.xml
lea ecx, [esp + 0x28]
mov byte [esp + 0x60], 7
call fcn.00410440
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40a7f2
mov esi, dword [esp + 0x24]
cmp dword [esi - 0xc], 0
jl 0x40a7f2
push eax
push esi
call fcn.00455250
add esp, 8
test eax, eax
je 0x40a7f2
sub eax, esi
cmp eax, 0xffffffff
jne 0x40aa52
lea ecx, [esp + 0x14]
push 0x47b124
push ecx
call fcn.0040ec80
add esp, 8
test al, al
je 0x40a8f6
lea ecx, [esp + 0x1c]
call fcn.00410780
mov byte [esp + 0x5c], 8
mov edx, dword [edi + 4]
mov eax, dword [edi]
push edx
add eax, ebp
push eax
lea ecx, [esp + 0x24]
call fcn.0040ffe0
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x492df0
call fcn.00410310
push ecx
mov byte [esp + 0x64], 9
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x492de4
call fcn.00410310
push ecx
mov byte [esp + 0x68], 0xa
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00410310
lea eax, [esp + 0x3c]
push eax
mov byte [esp + 0x6c], 8
call fcn.0040ac20
add esp, 0x10
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x60], 0xb
call fcn.004104e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x5c], 8
call fcn.00410760
push str.stream2.xml
push ebx
lea ecx, [esp + 0x20]
push str._s_s
push ecx
call fcn.00410070
mov edx, dword [esp + 0x28]
push 0x47adfc
push edx
call fcn.004547d8
mov esi, eax
add esp, 0x18
test esi, esi
je 0x40a8e8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax - 0xc]
push esi
push eax
push 1
lea ecx, [esp + 0x28]
call fcn.0040ed30
push eax
call fcn.00454905
push esi
call fcn.00454a05
add esp, 0x14
lea ecx, [esp + 0x1c]
call fcn.00410760
jmp 0x40aa52
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x40a957
push str..rct
push ecx
call fcn.00455250
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40a921
sub eax, ecx
cmp eax, 0xffffffff
jne 0x40a9d7
cmp dword [ecx - 0xc], 0
jl 0x40a957
push 0x47b138
push ecx
call fcn.00455250
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x40a957
sub eax, ecx
cmp eax, 0xffffffff
je 0x40a957
push 0x47b138
lea ecx, [esp + 0x18]
push ecx
call fcn.0040e5c0
mov ecx, dword [esp + 0x14]
push ecx
push ebx
lea edx, [esp + 0x20]
push str._s_s
push edx
call fcn.00410070
mov eax, dword [esp + 0x28]
push 0x47adfc
push eax
call fcn.004547d8
mov esi, eax
add esp, 0x18
test esi, esi
je 0x40aa52
mov ecx, dword [edi + 4]
mov edx, dword [edi]
push esi
push ecx
add edx, ebp
push 1
push edx
call fcn.00454905
push esi
call fcn.00454a05
add esp, 0x10
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00410310
push ecx
mov byte [esp + 0x64], 0xc
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00410310
push ecx
mov byte [esp + 0x68], 0xd
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
jmp 0x40aa40
mov ecx, dword [esp + 0x18]
push 0x47adfc
push ecx
call fcn.004547d8
mov esi, eax
add esp, 8
test esi, esi
je 0x40aa52
mov edx, dword [edi + 4]
mov eax, dword [edi]
push esi
push edx
add eax, ebp
push 1
push eax
call fcn.00454905
push esi
call fcn.00454a05
add esp, 0x10
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00410310
push ecx
mov byte [esp + 0x64], 0xe
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00410310
push ecx
mov byte [esp + 0x68], 0xf
lea edx, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00410310
mov byte [esp + 0x68], 7
call fcn.00428b00
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.00410760
mov byte [esp + 0x5c], 5
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40aa80
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40aaa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 3
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40aaca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0x108
sub dword [esp + 0x28], 1
jne 0x40a740
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0042ff0e
mov edx, dword [esp + 0x24]
add esp, 4
push 0x47adfc
push edx
call fcn.004547d8
mov esi, eax
add esp, 8
test esi, esi
je 0x40ab18
push esi
push 3
push 1
push 0x47b140
call fcn.00454905
push esi
call fcn.00454a05
add esp, 0x14
mov eax, dword [esp + 0x38]
mov byte [esp + 0x5c], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ab3a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 1
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ab5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 0
lea eax, [ebx - 0x10]
jmp 0x40a63b
mov byte [esp + 0x5c], 2
lea ecx, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ab8a
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov byte [esp + 0x5c], 1
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40abaf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x5c], 0
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40abd4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x5c], 0xffffffff
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40abfc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret