Function at 0x412a53
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x220
mov eax, dword [0x42b534]
push ebx
push ebp
push esi
xor esi, esi
xor ebx, ebx
cmp eax, esi
push edi
mov dword [esp + 0x14], ebx
je 0x412a7b
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
mov dword [esp + 0x14], ebx
mov ebp, dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, dword [sym.imp.KERNEL32.dll_LoadResource]
xor ecx, ecx
mov edx, 0x12c
mov dword [esp + 0x38], ecx
jmp 0x412a9e
mov edi, dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebx, dword [esp + 0x14]
mov eax, ecx
shl eax, 2
cmp dword [eax + 0x42d868], esi
je 0x413603
cmp dword [eax + 0x42d898], esi
mov dword [eax + 0x42d1e0], esi
je 0x412acc
cmp ecx, 1
je 0x412acc
cmp ecx, 3
je 0x412acc
cmp ecx, 0xa
jne 0x412aee
cmp ebx, esi
je 0x412aee
mov ecx, dword [ebx]
lea edi, [ebx + 4]
mov dword [eax + 0x42d1e0], edi
mov dword [eax + 0x42e700], ecx
lea eax, [ebx + ecx + 4]
mov dword [esp + 0x14], eax
jmp 0x413603
cmp ecx, esi
jne 0x412c4e
push edx
push 0x427978
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b5e4], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d1e0], ecx
mov al, byte [edi]
xor esi, esi
test al, al
mov dword [esp + 0x10], esi
je 0x412c42
jmp 0x412b57
mov ecx, dword [0x42b5e4]
cmp al, 0x25
jne 0x412c33
cmp byte [edi + 1], 0x73
lea eax, [edi + 1]
jne 0x412c24
mov eax, dword [esp + 0x10]
inc edi
inc edi
sub eax, 0
je 0x412bf3
dec eax
je 0x412bde
dec eax
je 0x412bc9
dec eax
je 0x412bb4
dec eax
je 0x412b9f
dec eax
jne 0x412c1e
push dword [0x42d354]
call fcn.0041c080
push dword [0x42d354]
mov ebp, eax
jmp 0x412c06
push dword [0x42ecbc]
call fcn.0041c080
push dword [0x42ecbc]
mov ebp, eax
jmp 0x412c06
push dword [0x42ec9c]
call fcn.0041c080
push dword [0x42ec9c]
mov ebp, eax
jmp 0x412c06
push dword [0x42d350]
call fcn.0041c080
push dword [0x42d350]
mov ebp, eax
jmp 0x412c06
push dword [0x42eae0]
call fcn.0041c080
push dword [0x42eae0]
mov ebp, eax
jmp 0x412c06
push dword [0x42eca4]
call fcn.0041c080
push dword [0x42eca4]
mov ebp, eax
mov eax, dword [0x42b5e4]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
add esi, ebp
mov ebp, dword [sym.imp.KERNEL32.dll_FindResourceA]
inc dword [esp + 0x10]
jmp 0x412c38
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b5e4]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x412b51
mov dword [0x42e700], esi
push ebx
jmp 0x413252
cmp ecx, 4
jne 0x412d83
cmp dword [0x42e0c4], esi
push edx
je 0x412c67
push str.GENERAL97
jmp 0x412c6c
push str.GENERAL
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x10], ebx
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b5e8], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d1f0], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x412d74
jmp 0x412cc9
mov ecx, dword [0x42b5e8]
cmp al, 0x25
jne 0x412d65
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x412d56
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x412d15
test ebx, ebx
jne 0x412d10
push dword [0x42e6d0]
call fcn.0041c080
push dword [0x42e6d0]
mov dword [esp + 0x30], eax
mov eax, dword [0x42b5e8]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x412d4f
cmp ebx, 1
jne 0x412d4f
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec30]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x38], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5e8]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x28]
inc ebx
jmp 0x412d6a
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b5e8]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x412cc3
push dword [esp + 0x10]
mov dword [0x42e710], esi
jmp 0x413252
cmp ecx, 9
jne 0x412eb8
cmp dword [0x42e0c4], esi
push edx
je 0x412d9c
push str.GENERAL97
jmp 0x412da1
push str.GENERAL
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x10], ebx
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b5f4], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d204], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x412ea9
jmp 0x412dfe
mov ecx, dword [0x42b5f4]
cmp al, 0x25
jne 0x412e9a
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x412e8b
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x412e4a
test ebx, ebx
jne 0x412e45
push dword [0x42e6e4]
call fcn.0041c080
push dword [0x42e6e4]
mov dword [esp + 0x28], eax
mov eax, dword [0x42b5f4]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x412e84
cmp ebx, 1
jne 0x412e84
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec44]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x30], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5f4]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x20]
inc ebx
jmp 0x412e9f
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b5f4]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x412df8
push dword [esp + 0x10]
mov dword [0x42e724], esi
jmp 0x413252
cmp ecx, 6
jne 0x412fed
cmp dword [0x42e0c4], esi
push edx
je 0x412ed1
push str.GENERAL97
jmp 0x412ed6
push str.GENERAL
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x10], ebx
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b5f8], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d1f8], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x412fde
jmp 0x412f33
mov ecx, dword [0x42b5f8]
cmp al, 0x25
jne 0x412fcf
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x412fc0
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x412f7f
test ebx, ebx
jne 0x412f7a
push dword [0x42e6d8]
call fcn.0041c080
push dword [0x42e6d8]
mov dword [esp + 0x38], eax
mov eax, dword [0x42b5f8]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x412fb9
cmp ebx, 1
jne 0x412fb9
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec38]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x40], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5f8]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x30]
inc ebx
jmp 0x412fd4
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b5f8]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x412f2d
push dword [esp + 0x10]
mov dword [0x42e718], esi
jmp 0x413252
cmp ecx, 7
jne 0x413122
cmp dword [0x42e0c4], esi
push edx
je 0x413006
push str.GENERAL97
jmp 0x41300b
push str.GENERAL
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x10], ebx
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b5fc], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d1fc], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x413113
jmp 0x413068
mov ecx, dword [0x42b5fc]
cmp al, 0x25
jne 0x413104
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x4130f5
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x4130b4
test ebx, ebx
jne 0x4130af
push dword [0x42e6dc]
call fcn.0041c080
push dword [0x42e6dc]
mov dword [esp + 0x20], eax
mov eax, dword [0x42b5fc]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x4130ee
cmp ebx, 1
jne 0x4130ee
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec3c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x28], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5fc]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x18]
inc ebx
jmp 0x413109
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b5fc]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x413062
push dword [esp + 0x10]
mov dword [0x42e71c], esi
jmp 0x413252
cmp ecx, 2
jne 0x41325d
cmp dword [0x42e0c4], esi
push edx
je 0x41313b
push str.GENERAL97
jmp 0x413140
push str.GENERAL
push esi
call ebp
push eax
push esi
call edi
mov ebx, eax
cmp ebx, esi
mov dword [esp + 0x10], ebx
je 0x41363c
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
cmp edi, esi
mov ecx, eax
mov dword [0x42b604], ecx
je 0x413632
cmp ecx, esi
je 0x413632
mov dword [0x42d1e8], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x413248
jmp 0x41319d
mov ecx, dword [0x42b604]
cmp al, 0x25
jne 0x413239
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x41322a
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x4131e9
test ebx, ebx
jne 0x4131e4
push dword [0x42e6c8]
call fcn.0041c080
push dword [0x42e6c8]
mov dword [esp + 0x3c], eax
mov eax, dword [0x42b604]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x413223
cmp ebx, 1
jne 0x413223
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec28]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x44], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b604]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x34]
inc ebx
jmp 0x41323e
mov edi, eax
mov byte [ecx + esi], 0x25
mov ecx, dword [0x42b604]
inc esi
mov al, byte [edi]
mov byte [ecx + esi], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x413197
push dword [esp + 0x10]
mov dword [0x42e708], esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
jmp 0x4135fc
cmp ecx, 5
jne 0x41338f
cmp dword [0x42e0c4], esi
push edx
je 0x413276
push str.GENERAL97
jmp 0x41327b
push str.GENERAL
push esi
call ebp
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x41363c
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x42b600], ecx
je 0x413635
test ecx, ecx
je 0x413635
mov dword [0x42d1f4], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x413384
jmp 0x4132d9
mov ecx, dword [0x42b600]
cmp al, 0x25
jne 0x413375
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x413366
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x413325
test ebx, ebx
jne 0x413320
push dword [0x42e6d4]
call fcn.0041c080
push dword [0x42e6d4]
mov dword [esp + 0x24], eax
mov eax, dword [0x42b600]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x41335f
cmp ebx, 1
jne 0x41335f
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec34]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b600]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x1c]
inc ebx
jmp 0x41337a
mov edi, eax
mov byte [esi + ecx], 0x25
mov ecx, dword [0x42b600]
inc esi
mov al, byte [edi]
mov byte [esi + ecx], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x4132d3
mov dword [0x42e714], esi
jmp 0x4135ef
cmp ecx, 8
jne 0x4134c1
cmp dword [0x42e0c4], esi
push edx
je 0x4133a8
push str.GENERAL97
jmp 0x4133ad
push str.GENERAL
push esi
call ebp
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x41363c
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x42b5ec], ecx
je 0x413635
test ecx, ecx
je 0x413635
mov dword [0x42d200], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x4134b6
jmp 0x41340b
mov ecx, dword [0x42b5ec]
cmp al, 0x25
jne 0x4134a7
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x413498
inc edi
inc edi
cmp dword [0x42e0c4], 0
jne 0x413457
test ebx, ebx
jne 0x413452
push dword [0x42e6e0]
call fcn.0041c080
push dword [0x42e6e0]
mov dword [esp + 0x2c], eax
mov eax, dword [0x42b5ec]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x413491
cmp ebx, 1
jne 0x413491
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec40]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x34], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5ec]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x24]
inc ebx
jmp 0x4134ac
mov edi, eax
mov byte [esi + ecx], 0x25
mov ecx, dword [0x42b5ec]
inc esi
mov al, byte [edi]
mov byte [esi + ecx], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x413405
mov dword [0x42e720], esi
jmp 0x4135ef
cmp ecx, 0xb
jne 0x413603
cmp dword [0x42e0c4], 2
push edx
jne 0x4134db
push str.GENERAL97
jmp 0x4134e0
push str.GENERAL
push esi
call ebp
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ebp, eax
test ebp, ebp
je 0x41363c
push ebp
call dword [sym.imp.KERNEL32.dll_LockResource]
push 0x1388
mov edi, eax
call fcn.0041b1a2
pop ecx
mov ecx, eax
test edi, edi
mov dword [0x42b5f0], ecx
je 0x413635
test ecx, ecx
je 0x413635
mov dword [0x42d20c], ecx
mov al, byte [edi]
xor esi, esi
xor ebx, ebx
test al, al
je 0x4135e9
jmp 0x41353e
mov ecx, dword [0x42b5f0]
cmp al, 0x25
jne 0x4135da
cmp byte [edi + 1], 0x74
lea eax, [edi + 1]
jne 0x4135cb
inc edi
inc edi
cmp dword [0x42e0c4], 2
je 0x41358a
test ebx, ebx
jne 0x413585
push dword [0x42e6ec]
call fcn.0041c080
push dword [0x42e6ec]
mov dword [esp + 0x34], eax
mov eax, dword [0x42b5f0]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0xc
jmp 0x4135c4
cmp ebx, 1
jne 0x4135c4
push dword [0x42eca4]
lea eax, [esp + 0x40]
push dword [0x42ec4c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0x48]
push eax
call fcn.0041c080
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x4c]
push eax
mov eax, dword [0x42b5f0]
add eax, esi
push eax
call fcn.0041bb30
add esp, 0x18
add esi, dword [esp + 0x2c]
inc ebx
jmp 0x4135df
mov edi, eax
mov byte [esi + ecx], 0x25
mov ecx, dword [0x42b5f0]
inc esi
mov al, byte [edi]
mov byte [esi + ecx], al
inc esi
inc edi
mov al, byte [edi]
test al, al
jne 0x413538
mov dword [0x42e72c], esi
push ebp
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov ebp, dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edx, 0x12c
xor esi, esi
mov ecx, dword [esp + 0x38]
inc ecx
cmp ecx, 0xc
mov dword [esp + 0x38], ecx
jl 0x412a94
cmp dword [0x42dfe4], esi
je 0x413640
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [ecx + 4]
mov dword [0x42b5b4], edx
lea eax, [ecx + eax + 4]
jmp 0x413644
push ebx
jmp 0x413636
push ebp
call dword [sym.imp.KERNEL32.dll_FreeResource]
xor eax, eax
jmp 0x413657
mov eax, dword [esp + 0x14]
cmp dword [0x42dfe8], esi
je 0x413654
add eax, 4
mov dword [0x42b5b8], eax
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x220
ret