Function at 0x4197a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x43c
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x444]
mov edx, dword [esp + 0x454]
mov ecx, dword [esp + 0x44c]
push ebx
push ebp
xor ebp, ebp
mov dword [esp + 0x24], eax
mov eax, dword [0x68c1f0]
mov dword [esp + 0x2c], edx
xor edx, edx
cmp eax, ebp
sete dl
push esi
mov esi, dword [esp + 0x44c]
cmp si, bp
push edi
mov edi, dword [esp + 0x460]
mov word [eax*2 + 0x68c144], si
mov dword [ecx], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebp
mov dword [edi], ebp
jne 0x419836
cmp dword [0x68c1f0], 1
jne 0x419836
movzx esi, word [0x68c144]
mov edx, 1
mov dword [esp + 0x450], esi
mov dword [esp + 0x20], edx
cmp dword [0x68c170], 4
je 0x419897
cmp dword [0x68c21c], ebp
je 0x419b2d
cmp edx, ebp
je 0x419897
push 0x100
lea eax, [esp + 0x44]
push eax
push 0x1c
push 0xe
call fcn.0051a1e0
add esp, 0x10
mov edx, esi
lea eax, [esp + 0x40]
call fcn.004c71c0
cmp eax, ebp
je 0x419897
lea ecx, [esp + 0x40]
sub eax, ecx
sar eax, 1
cmp eax, dword [0x68c170]
jne 0x419897
lea ebx, [esp + 0x14]
mov eax, esi
mov dword [esp + 0x1c], 0xf
call fcn.004195e0
cmp dword [0x68c21c], ebp
je 0x419b22
xor edi, edi
mov eax, dword [0x68c1f0]
lea edx, [esp + 0x14]
push edx
add eax, 1
movzx esi, di
push eax
push 0x68c144
mov ecx, esi
mov edx, 0xe
call fcn.00419600
add esp, 0xc
test eax, eax
je 0x4198db
or esi, 0x2000
movzx ecx, si
mov dword [esp + 0x1c], ecx
add edi, 1
cmp edi, 0xd
jl 0x4198a5
cmp dword [esp + 0x14], 4
jge 0x419ec5
mov edx, dword [0x68c184]
mov eax, dword [edx]
xor edx, edx
cmp eax, edx
jne 0x419904
xor ebp, ebp
mov dword [esp + 0x24], edx
jmp 0x419917
mov ecx, dword [0x691ca8]
movzx ebp, word [eax + ecx + 2]
lea eax, [eax + ecx + 4]
mov dword [esp + 0x24], eax
cmp bp, dx
mov dword [esp + 0x18], edx
je 0x419a1c
mov ebx, dword [esp + 0x14]
shl ebx, 9
add ebx, 0x68c25c
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx]
lea edx, [esp + 0x28]
push edx
add ebp, 0xffff
call fcn.004194e0
add esp, 4
test eax, eax
je 0x419a09
lea eax, [esp + 0x3c]
push eax
push 0
push esi
mov edi, 0x100
call fcn.0045b140
add esp, 0xc
lea ecx, [esp + 0x40]
jmp 0x419970
movzx edx, word [eax]
test dx, dx
je 0x419989
mov word [ecx], dx
sub edi, 1
add ecx, 2
add eax, 2
cmp edi, 1
ja 0x419970
mov esi, dword [0x68c1f0]
add esi, 1
mov word [ecx], 0
je 0x4199be
xor eax, eax
jmp 0x4199a0
movzx ecx, word [esp + eax + 0x40]
movzx edx, word [eax + 0x68c144]
sub esi, 1
add eax, 2
cmp ecx, edx
jne 0x419a09
test ecx, ecx
je 0x4199be
test esi, esi
jne 0x4199a0
mov ecx, dword [esp + 0x28]
or ecx, dword [esp + 0x18]
cmp dword [esp + 0x14], 4
movzx edx, cx
mov dword [esp + 0x1c], edx
jge 0x4199fe
mov ecx, 0x100
lea esi, [esp + 0x40]
mov eax, ebx
nop
movzx edx, word [esi]
test dx, dx
je 0x4199f9
mov word [eax], dx
sub ecx, 1
add eax, 2
add esi, 2
cmp ecx, 1
ja 0x4199e0
mov word [eax], 0
add dword [esp + 0x14], 1
add ebx, 0x200
add dword [esp + 0x18], 1
add dword [esp + 0x24], 4
test bp, bp
jne 0x419931
cmp dword [esp + 0x14], 4
jge 0x419ec5
xor eax, eax
cmp dword [0x68c170], 2
sete al
inc eax
mov esi, eax
je 0x419b22
lea esp, [esp]
mov eax, 0
sub esi, 1
sete al
lea ecx, [esp + 0x40]
push ecx
mov dword [esp + 0x2c], esi
xor ebp, ebp
mov dword [esp + 0x1c], eax
push eax
xor eax, eax
call fcn.00419680
add esp, 8
test eax, eax
je 0x419b1a
mov ebx, dword [esp + 0x14]
shl ebx, 9
add ebx, 0x68c25c
mov eax, dword [0x68c1f0]
add ebp, 1
add eax, 1
mov esi, 0x68c144
lea edx, [esp + 0x40]
je 0x419aab
movzx ecx, word [edx]
movzx edi, word [esi]
sub eax, 1
add edx, 2
add esi, 2
cmp ecx, edi
jne 0x419afa
test ecx, ecx
je 0x419aab
test eax, eax
jne 0x419a90
xor edx, edx
cmp dword [esp + 0x18], edx
sete dl
cmp dword [esp + 0x14], 4
lea edx, [edx + edx + 0xd]
movzx eax, dx
mov dword [esp + 0x1c], eax
jge 0x419aef
mov ecx, 0x100
lea esi, [esp + 0x40]
mov eax, ebx
movzx edx, word [esi]
test dx, dx
je 0x419aea
mov word [eax], dx
sub ecx, 1
add eax, 2
add esi, 2
cmp ecx, 1
ja 0x419ad1
mov word [eax], 0
add dword [esp + 0x14], 1
add ebx, 0x200
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x40]
push ecx
push edx
mov eax, ebp
call fcn.00419680
add esp, 8
test eax, eax
jne 0x419a7a
mov esi, dword [esp + 0x28]
test esi, esi
jne 0x419a40
cmp dword [esp + 0x14], 4
jge 0x419ec5
cmp dword [0x68c220], 0
je 0x419cd4
mov edi, 1
mov ecx, dword [0x68c1f0]
lea eax, [esp + 0x14]
push eax
add ecx, 1
movzx esi, di
push ecx
push 0x68c144
lea ecx, [esi + 4]
mov edx, 7
call fcn.00419600
add esp, 0xc
test eax, eax
je 0x419b77
add esi, 0x200
movzx edx, si
mov dword [esp + 0x1c], edx
add edi, 1
cmp edi, 3
jl 0x419b3f
mov eax, dword [esp + 0x14]
shl eax, 9
lea ebx, [esp + 0x240]
lea ecx, [eax + 0x68c25c]
sub ebx, eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], ecx
sub ebx, 0x68c25c
jmp 0x419bb0
mov edi, dword [0x68c1f0]
add edi, 1
cmp dword [0x6928c0], 0
jne 0x419bf5
push 0xa
push 0x80
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
add eax, 2
mov dword [0x690b40], eax
mov dword [0x6928c0], 1
jmp 0x419bfa
mov eax, dword [0x690b40]
movzx ebp, word [esp + 0x24]
movzx eax, word [eax + 0x1c]
lea edx, [ebp + 7]
movzx esi, dx
add esi, eax
call fcn.0057ee1a
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x44]
push 0x100
lea ecx, [esp + 0x244]
push ecx
push esi
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
test edi, edi
mov esi, edi
je 0x419c65
xor eax, eax
jmp 0x419c40
movzx ecx, word [esp + eax + 0x240]
movzx edx, word [eax + 0x68c144]
sub esi, 1
add eax, 2
cmp ecx, edx
jne 0x419d26
test ecx, ecx
je 0x419c65
test esi, esi
jne 0x419c40
xor eax, eax
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
test eax, eax
je 0x419cc0
cmp dword [esp + 0x14], 4
jge 0x419ca0
mov eax, dword [esp + 0x18]
mov edx, 0x100
movzx ecx, word [ebx + eax]
test cx, cx
je 0x419c9b
mov word [eax], cx
sub edx, 1
add eax, 2
cmp edx, 1
ja 0x419c84
mov word [eax], 0
add dword [esp + 0x14], 1
add dword [esp + 0x18], 0x200
sub ebx, 0x200
add ebp, 0x100
movzx edx, bp
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 2
mov dword [esp + 0x24], eax
jl 0x419bb0
cmp dword [esp + 0x14], 4
jge 0x419ec5
cmp dword [esp + 0x20], 0
je 0x419dd0
cmp dword [0x6928c0], 0
jne 0x419d36
push 0xa
push 0x80
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
add eax, 2
mov dword [0x690b40], eax
mov dword [0x6928c0], 1
jmp 0x419d3b
xor eax, eax
cmp ecx, edx
setge al
lea eax, [eax + eax - 1]
jmp 0x419c67
mov eax, dword [0x690b40]
movzx esi, word [eax + 0x38]
add esi, 0x1a
call fcn.0057ee1a
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x44]
push 0x100
lea ecx, [esp + 0x44]
push ecx
push esi
push edx
call dword [sym.imp.USER32.dll_LoadStringW]
movzx eax, word [esp + 0x40]
test eax, eax
movzx edx, word [esp + 0x450]
lea ecx, [esp + 0x40]
je 0x419dd0
cmp eax, edx
je 0x419d85
movzx eax, word [ecx + 2]
add ecx, 2
test eax, eax
jne 0x419d74
jmp 0x419dd0
test ecx, ecx
je 0x419dd0
lea eax, [esp + 0x40]
sub ecx, eax
sar ecx, 1
movzx eax, cx
movzx ecx, ax
mov edx, dword [ecx*4 + 0x6878c0]
cmp dword [edx*4 + 0x68c208], 0
je 0x419dd0
mov cx, word [esp + 0x450]
movzx eax, ax
mov word [esp + 0x18], cx
lea ebx, [esp + 0x14]
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], eax
mov word [esp + 0x1a], 0
call fcn.00419590
cmp dword [esp + 0x14], 4
jge 0x419ec5
cmp dword [esp + 0x20], 0
je 0x419ec5
cmp dword [0x6928c0], 0
jne 0x419e22
push 0xa
push 0x80
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
add eax, 2
mov dword [0x690b40], eax
mov dword [0x6928c0], 1
jmp 0x419e27
mov eax, dword [0x690b40]
movzx esi, word [eax + 0x38]
add esi, 0x1b
call fcn.0057ee1a
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x44]
push 0x100
lea edx, [esp + 0x44]
push edx
push esi
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
movzx ecx, word [esp + 0x40]
test ecx, ecx
movzx edx, word [esp + 0x450]
lea eax, [esp + 0x40]
je 0x419ec5
cmp ecx, edx
je 0x419e71
movzx ecx, word [eax + 2]
add eax, 2
test ecx, ecx
jne 0x419e60
jmp 0x419ec5
test eax, eax
je 0x419ec5
lea ecx, [esp + 0x40]
sub eax, ecx
sar eax, 1
add eax, 0x1000
cmp dword [0x68c210], 0
movzx eax, ax
jne 0x419e9d
cmp dword [0x68c214], 0
je 0x419ec5
cmp ax, 0x1001
jne 0x419ec5
movzx edx, ax
mov ax, word [esp + 0x450]
lea ebx, [esp + 0x14]
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], edx
mov word [esp + 0x20], ax
mov word [esp + 0x22], 0
call fcn.00419590
mov ebx, dword [esp + 0x14]
xor edi, edi
cmp ebx, edi
mov dword [0x68c248], edi
jne 0x419fbb
mov eax, dword [0x68c1f0]
cmp eax, edi
jle 0x419f96
cmp dword [esp + 0x458], edi
je 0x419f94
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x30]
push eax
push edi
push esi
push edi
call fcn.004197a0
add esp, 0x18
cmp dword [esp + 0x28], edi
je 0x419f2c
cmp dword [esp + 0x20], edi
je 0x419f2c
cmp word [esp + 0x450], 9
je 0x41a0ad
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x454]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x34]
push eax
push edi
push esi
push ecx
mov dword [0x68c1f0], edi
call fcn.004197a0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
add esp, 0x18
cmp dword [esp + 0x20], edi
mov dword [eax], edx
jne 0x419f6f
cmp ecx, edi
jne 0x419f6f
xor eax, eax
jmp 0x419f74
mov eax, 1
cmp ecx, edi
mov edx, dword [esp + 0x38]
mov dword [edx], eax
movzx eax, word [esp + 0x1c]
jne 0x419f88
movzx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x34]
mov word [ecx], ax
jmp 0x41a0ad
cmp eax, edi
je 0x419fae
mov dword [0x68c1f0], edi
mov dword [0x68c234], 1
mov dword [0x68c248], edi
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
jmp 0x41a0ad
mov esi, 1
cmp ebx, esi
jle 0x41a07a
cmp dword [0x68c1f0], 0x13
jge 0x41a066
add dword [0x68c1f0], esi
mov edx, dword [esp + 0x30]
mov eax, dword [0x692a7c]
cmp eax, edi
mov dword [edx], esi
mov dword [0x68c248], esi
jne 0x41a04d
push 0x685a18
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x41a012
push 0x68c250
mov dword [0x692a7c], esi
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jmp 0x41a02d
mov dword [0x692a7c], 2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x68c250], eax
mov dword [0x68c254], edi
mov edi, 0xfa
mov esi, 0x68c250
call fcn.0053b1d0
cmp ebx, 4
jle 0x41a05e
mov dword [0x68c258], 4
jmp 0x41a0ad
cmp eax, esi
jne 0x41a01c
push 0x68c250
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
jmp 0x41a02d
mov dword [0x68c258], ebx
jmp 0x41a0ad
mov dword [0x68c1f0], edi
mov dword [0x68c234], esi
mov dword [0x68c248], edi
jmp 0x41a0ad
mov esi, dword [esp + 0x1c]
push esi
call fcn.00418df0
mov ebx, dword [esp + 0x30]
add esp, 4
xor eax, eax
call fcn.00417410
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [eax], 1
mov word [ecx], si
mov dword [edx], 1
mov ecx, dword [esp + 0x444]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005ce60a
add esp, 0x43c
ret