Function at 0x403680
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x4625ee
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x480810]
xor eax, esp
mov dword [esp + 0x21c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x480810]
xor eax, esp
push eax
lea eax, [esp + 0x234]
mov dword fs:[0], eax
push str.MYDATA
push 0xbc
push 0
mov dword [esp + 0x248], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
je 0x4039df
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x4039df
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.00425149
push esi
mov ebx, eax
push edi
push ebx
call fcn.0044d190
mov edx, dword [ebx + esi - 8]
mov edi, dword [ebx + esi - 0xc]
mov esi, dword [ebx + esi - 4]
add esp, 0x10
cmp esi, 0x1388
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], esi
ja 0x4039df
xor ecx, ecx
mov eax, esi
mov edx, 0x108
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00425149
mov ebp, eax
mov eax, esi
imul eax, eax, 0x108
push eax
add edi, ebx
push edi
push ebp
mov dword [esp + 0x30], ebp
call fcn.0044d190
add esp, 0x10
push 0xffffffffffffffff
push 0
mov ecx, 0x484ebc
call fcn.00426205
test esi, esi
mov dword [esp + 0x1c], 0
jle 0x403989
push 0x109
lea ecx, [esp + 0x34]
push 0
push ecx
call fcn.0044cd20
mov eax, ebp
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4037a7
sub eax, edx
push eax
lea edx, [esp + 0x34]
push ebp
push edx
call fcn.00449c69
add esp, 0xc
call fcn.0042f9e8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4039d5
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x240], 1
call fcn.00409620
lea eax, [esp + 0x30]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403805
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00409c80
call fcn.0042f9e8
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4039d5
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push ebp
lea ecx, [esp + 0x18]
mov byte [esp + 0x240], 2
call fcn.0040a700
lea edi, [esp + 0x14]
call fcn.004089a0
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x403905
push str..rct
push ecx
call fcn.00449f00
mov ecx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x4038d2
sub eax, ecx
cmp eax, 0xffffffff
je 0x4038d2
mov esi, dword [ebp + 0x104]
push ecx
mov ecx, 0x484e48
call fcn.0042605b
mov ecx, edi
mov dword [eax], esi
mov edx, dword [0x484e6c]
push ecx
push edx
mov ecx, 0x484e64
call fcn.00426438
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 0x100]
push eax
mov ecx, 0x484e2c
add esi, ebx
call fcn.0042605b
mov dword [eax], esi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x403905
push 0x46d9e4
push ecx
call fcn.00449f00
add esp, 8
test eax, eax
je 0x403905
sub eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x403905
mov ecx, dword [0x484ec4]
push ebp
push ecx
mov ecx, 0x484ebc
call fcn.004265a4
mov edx, dword [ebp + 0x104]
mov eax, dword [ebp + 0x100]
mov esi, dword [esp + 0x18]
push edx
add eax, ebx
push esi
call fcn.00416f00
mov byte [esp + 0x23c], 1
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 0x403946
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x23c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40396a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 1
add ebp, 0x108
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
jl 0x40378e
mov ebp, dword [esp + 0x20]
push ebp
call fcn.0042514e
add esp, 4
cmp dword [0x484e6c], 0
jle 0x4039a0
call fcn.00403f40
mov dword [esp + 0x23c], 0xffffffff
mov eax, dword [esp + 0x244]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4039ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x403a0f
push 0x80004005
call fcn.0040a150
mov dword [esp + 0x23c], 0xffffffff
mov eax, dword [esp + 0x244]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403a0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x234]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.00448d99
add esp, 0x22c
ret