Function at 0x40a49e
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x21c
mov eax, dword [0x420ccc]
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
cmp eax, ebp
push edi
mov dword [esp + 0x14], esi
je 0x40a4c6
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
mov dword [esp + 0x14], esi
mov ecx, dword [sym.imp.KERNEL32.dll_FindResourceA]
xor edi, edi
mov dword [esp + 0x34], edi
mov edx, 0x12c
mov ebx, str.GENERAL
jmp 0x40a4ed
mov ecx, dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, dword [esp + 0x14]
mov ebx, str.GENERAL
mov eax, edi
shl eax, 2
cmp dword [eax + 0x422be8], ebp
je 0x40aeee
cmp dword [eax + 0x422c14], ebp
mov dword [eax + 0x422580], ebp
je 0x40a51b
cmp edi, 1
je 0x40a51b
cmp edi, 2
je 0x40a51b
cmp edi, 9
jne 0x40a53d
cmp esi, ebp
je 0x40a53d
mov ecx, dword [esi]
lea edi, [esi + 4]
mov dword [eax + 0x422580], edi
mov dword [eax + 0x423780], ecx
lea eax, [esi + ecx + 4]
mov dword [esp + 0x14], eax
jmp 0x40aeee
cmp edi, ebp
jne 0x40a69c
push edx
push 0x41d5c4
push ebp
call ecx
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, eax
cmp ebx, ebp
je 0x40af2a
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
cmp edi, ebp
mov ecx, eax
mov dword [0x420d54], ecx
je 0x40af1d
cmp ecx, ebp
je 0x40af1d
mov dword [0x422580], ecx
mov al, byte [edi]
xor esi, esi
mov dword [esp + 0x10], ebp
test al, al
je 0x40a690
jmp 0x40a5aa
mov ecx, dword [0x420d54]
cmp al, 0x25
jne 0x40a681
cmp byte [edi + 1], 0x73
lea eax, [edi + 1]
jne 0x40a672
mov eax, dword [esp + 0x10]
inc edi
inc edi
sub eax, ebp
je 0x40a645
dec eax
je 0x40a630
dec eax
je 0x40a61b
dec eax
je 0x40a606
dec eax
je 0x40a5f1
dec eax
jne 0x40a66c
push dword [0x4226cc]
call fcn.00413dd0
push dword [0x4226cc]
mov ebp, eax
jmp 0x40a658
push dword [0x42398c]
call fcn.00413dd0
push dword [0x42398c]
mov ebp, eax
jmp 0x40a658
push dword [0x423970]
call fcn.00413dd0
push dword [0x423970]
mov ebp, eax
jmp 0x40a658
push dword [0x4226c8]
call fcn.00413dd0
push dword [0x4226c8]
mov ebp, eax
jmp 0x40a658
push dword [0x423818]
call fcn.00413dd0
push dword [0x423818]
mov ebp, eax
jmp 0x40a658
push dword [0x423974]
call fcn.00413dd0
push dword [0x423974]
mov ebp, eax
mov eax, dword [0x420d54]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
add esi, ebp
xor ebp, ebp
inc dword [esp + 0x10]
jmp 0x40a686
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d54]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40a5a4
mov dword [0x423780], esi
push ebx
jmp 0x40a8ff
cmp edi, 3
jne 0x40a7d0
cmp dword [0x4234c8], ebp
push edx
je 0x40a6b5
push str.GENERAL97
jmp 0x40a6b6
push ebx
push ebp
call ecx
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
cmp esi, ebp
mov dword [esp + 0x10], esi
je 0x40af2a
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
cmp edi, ebp
mov ecx, eax
mov dword [0x420d58], ecx
je 0x40af20
cmp ecx, ebp
je 0x40af20
mov dword [0x42258c], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40a7c1
jmp 0x40a717
mov ecx, dword [0x420d58]
cmp al, 0x25
jne 0x40a7b2
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40a7a3
inc edi
inc edi
cmp dword [0x4234c8], ebp
jne 0x40a762
cmp ebx, ebp
jne 0x40a75d
push dword [0x42374c]
call fcn.00413dd0
push dword [0x42374c]
mov dword [esp + 0x34], eax
mov eax, dword [0x420d58]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40a79c
cmp ebx, 1
jne 0x40a79c
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x42394c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d58]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x2c]
inc ebx
jmp 0x40a7b7
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d58]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40a711
push dword [esp + 0x10]
mov dword [0x42378c], esi
jmp 0x40a8ff
cmp edi, 8
jne 0x40a90a
cmp dword [0x4234c8], ebp
push edx
je 0x40a7e9
push str.GENERAL97
jmp 0x40a7ea
push ebx
push ebp
call ecx
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
cmp esi, ebp
mov dword [esp + 0x10], esi
je 0x40af2a
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
cmp edi, ebp
mov ecx, eax
mov dword [0x420d64], ecx
je 0x40af20
cmp ecx, ebp
je 0x40af20
mov dword [0x4225a0], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40a8f5
jmp 0x40a84b
mov ecx, dword [0x420d64]
cmp al, 0x25
jne 0x40a8e6
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40a8d7
inc edi
inc edi
cmp dword [0x4234c8], ebp
jne 0x40a896
cmp ebx, ebp
jne 0x40a891
push dword [0x423760]
call fcn.00413dd0
push dword [0x423760]
mov dword [esp + 0x30], eax
mov eax, dword [0x420d64]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40a8d0
cmp ebx, 1
jne 0x40a8d0
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x423960]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x38], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d64]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x28]
inc ebx
jmp 0x40a8eb
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d64]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40a845
push dword [esp + 0x10]
mov dword [0x4237a0], esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x40aee9
cmp edi, 5
jne 0x40aa38
cmp dword [0x4234c8], ebp
push edx
je 0x40a923
push str.GENERAL97
jmp 0x40a924
push ebx
push ebp
call ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x40af2a
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x420d68], ecx
je 0x40af23
test ecx, ecx
je 0x40af23
mov dword [0x422594], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40aa2d
jmp 0x40a982
mov ecx, dword [0x420d68]
cmp al, 0x25
jne 0x40aa1e
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40aa0f
inc edi
inc edi
cmp dword [0x4234c8], 0
jne 0x40a9ce
test ebx, ebx
jne 0x40a9c9
push dword [0x423754]
call fcn.00413dd0
push dword [0x423754]
mov dword [esp + 0x2c], eax
mov eax, dword [0x420d68]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40aa08
cmp ebx, 1
jne 0x40aa08
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x423954]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x34], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d68]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x24]
inc ebx
jmp 0x40aa23
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d68]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40a97c
mov dword [0x423794], esi
jmp 0x40aee0
cmp edi, 6
jne 0x40ab66
cmp dword [0x4234c8], ebp
push edx
je 0x40aa51
push str.GENERAL97
jmp 0x40aa52
push ebx
push ebp
call ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x40af2a
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x420d6c], ecx
je 0x40af23
test ecx, ecx
je 0x40af23
mov dword [0x422598], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40ab5b
jmp 0x40aab0
mov ecx, dword [0x420d6c]
cmp al, 0x25
jne 0x40ab4c
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40ab3d
inc edi
inc edi
cmp dword [0x4234c8], 0
jne 0x40aafc
test ebx, ebx
jne 0x40aaf7
push dword [0x423758]
call fcn.00413dd0
push dword [0x423758]
mov dword [esp + 0x20], eax
mov eax, dword [0x420d6c]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40ab36
cmp ebx, 1
jne 0x40ab36
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x423958]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d6c]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x18]
inc ebx
jmp 0x40ab51
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d6c]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40aaaa
mov dword [0x423798], esi
jmp 0x40aee0
cmp edi, 4
jne 0x40ac94
cmp dword [0x4234c8], ebp
push edx
je 0x40ab7f
push str.GENERAL97
jmp 0x40ab80
push ebx
push ebp
call ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x40af2a
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x420d70], ecx
je 0x40af23
test ecx, ecx
je 0x40af23
mov dword [0x422590], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40ac89
jmp 0x40abde
mov ecx, dword [0x420d70]
cmp al, 0x25
jne 0x40ac7a
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40ac6b
inc edi
inc edi
cmp dword [0x4234c8], 0
jne 0x40ac2a
test ebx, ebx
jne 0x40ac25
push dword [0x423750]
call fcn.00413dd0
push dword [0x423750]
mov dword [esp + 0x24], eax
mov eax, dword [0x420d70]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40ac64
cmp ebx, 1
jne 0x40ac64
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x423950]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d70]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x1c]
inc ebx
jmp 0x40ac7f
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x420d70]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40abd8
mov dword [0x423790], esi
jmp 0x40aee0
cmp edi, 7
jne 0x40adc2
cmp dword [0x4234c8], ebp
push edx
je 0x40acad
push str.GENERAL97
jmp 0x40acae
push ebx
push ebp
call ecx
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x40af2a
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x420d5c], ecx
je 0x40af23
test ecx, ecx
je 0x40af23
mov dword [0x42259c], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40adb7
jmp 0x40ad0c
mov ecx, dword [0x420d5c]
cmp al, 0x25
jne 0x40ada8
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40ad99
inc edi
inc edi
cmp dword [0x4234c8], 0
jne 0x40ad58
test ebx, ebx
jne 0x40ad53
push dword [0x42375c]
call fcn.00413dd0
push dword [0x42375c]
mov dword [esp + 0x28], eax
mov eax, dword [0x420d5c]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40ad92
cmp ebx, 1
jne 0x40ad92
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x42395c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d5c]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x20]
inc ebx
jmp 0x40adad
mov edi, eax
mov byte [esi + ecx], 0x25
mov ecx, dword [0x420d5c]
inc esi
mov al, byte [edi]
mov byte [esi + ecx], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40ad06
mov dword [0x42379c], esi
jmp 0x40aee0
cmp edi, 0xa
jne 0x40aeee
push 0x12c
push str.GENERAL
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x40af2a
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.004132a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x420d60], ecx
je 0x40af23
test ecx, ecx
je 0x40af23
mov dword [0x4225a8], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x40aeda
jmp 0x40ae38
mov ecx, dword [0x420d60]
cmp al, 0x25
jne 0x40aecb
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x40aebc
inc edi
inc edi
test ebx, ebx
jne 0x40ae76
push dword [0x423768]
call fcn.00413dd0
push dword [0x423768]
mov dword [esp + 0x38], eax
mov eax, dword [0x420d60]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0xc
jmp 0x40aeb5
cmp ebx, 1
jne 0x40aeb5
push dword [0x423974]
lea eax, [esp + 0x3c]
push dword [0x423968]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x44]
push eax
call fcn.00413dd0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x420d60]
add eax, esi
push eax
call fcn.00413bb0
add esp, 0x18
add esi, dword [esp + 0x30]
inc ebx
jmp 0x40aed0
mov edi, eax
mov byte [esi + ecx], 0x25
mov ecx, dword [0x420d60]
inc esi
mov al, byte [edi]
mov byte [esi + ecx], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x40ae32
mov dword [0x4237a8], esi
push ebp
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor ebp, ebp
mov edx, 0x12c
mov edi, dword [esp + 0x34]
inc edi
cmp edi, 0xb
mov dword [esp + 0x34], edi
jl 0x40a4de
cmp dword [0x42324c], ebp
je 0x40af2e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [ecx + 4]
mov dword [0x420d1c], edx
lea eax, [ecx + eax + 4]
jmp 0x40af32
push ebx
jmp 0x40af24
push esi
jmp 0x40af24
push ebp
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
jmp 0x40af45
mov eax, dword [esp + 0x14]
cmp dword [0x423250], ebp
je 0x40af42
add eax, 4
mov dword [0x420d20], eax
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret