Function at 0x437c1c
Capabilities:
Check mutex on windows
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
push ebp
push 0x438f04
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x43bb90]
mov byte [eax], 1
mov eax, dword [0x43bbb8]
mov edx, 0x438f20
call fcn.00403630
mov eax, dword [0x43bb94]
mov byte [eax], 0x2f
mov eax, dword [0x43bb60]
mov edx, 0x438f34
call fcn.00403630
mov eax, dword [0x43bb48]
mov byte [eax], 0x3a
call sub.comctl32.dll_InitCommonControls
mov eax, dword [0x43bbe4]
mov byte [eax], 0
mov eax, dword [0x43bc7c]
cmp dword [eax], 0
jne 0x437ca8
mov edx, dword [0x43bc7c]
xor eax, eax
call fcn.004027d4
mov eax, dword [0x43bc60]
mov dword [eax], 0x10000
mov eax, dword [0x43bbb0]
mov eax, dword [eax]
mov edx, dword [0x43bb78]
mov dword [edx], eax
push 0x438f40
mov eax, dword [0x43bb78]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, dword [0x43bc5c]
mov dword [edx], eax
mov eax, dword [0x43bb70]
mov byte [eax], 1
mov byte [ebp - 0x2d], 0
call fcn.00436c5c
mov edx, dword [0x43bc70]
mov dword [edx], eax
mov eax, dword [0x43bc70]
cmp dword [eax], 0
jne 0x437d0e
mov eax, 0x438f54
call fcn.00417f7c
jmp 0x438ed4
mov eax, dword [0x43bc70]
mov eax, dword [eax]
mov edx, dword [0x43bc48]
mov dword [edx], eax
mov edx, dword [0x43bc84]
mov edx, dword [edx]
mov eax, dword [0x43bbf8]
mov ecx, 0x438f78
call fcn.004038a4
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x437dd7
push 0xa
push 0x438f84
mov eax, dword [0x43bb78]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x437d6b
mov eax, 0x438f94
call fcn.00417f7c
jmp 0x438ed4
push ebx
mov eax, dword [0x43bb78]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SizeofResource
mov esi, eax
push ebx
mov eax, dword [0x43bb78]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_LoadResource
push eax
call sub.KERNEL32.DLL_LockResource
mov ebx, eax
mov eax, dword [0x43bbf8]
mov eax, dword [eax]
call fcn.00406b48
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x437dd0
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, ebx
mov ecx, esi
mov eax, dword [ebp - 0x1c]
call fcn.00406b98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x437dd7
mov eax, dword [ebp - 0x1c]
call fcn.00406bd0
ret
mov dl, 1
mov eax, dword [0x40c474]
call fcn.00402c74
mov edx, dword [0x43bb58]
mov dword [edx], eax
lea eax, [ebp - 0x10]
call fcn.00407140
lea edx, [ebp - 0x34]
mov eax, dword [0x43bc7c]
mov eax, dword [eax]
call fcn.00406ec0
mov eax, dword [ebp - 0x34]
call fcn.00407168
mov eax, dword [0x43bc2c]
cmp dword [eax + 1], 4
jg 0x437e1f
mov eax, dword [0x43bc2c]
cmp byte [eax], 5
jne 0x437e31
push 0x438fb0
call sub.KERNEL32.DLL_LoadLibraryA
mov edx, dword [0x43bc34]
mov dword [edx], eax
mov eax, dword [0x43bc34]
cmp dword [eax], 0
je 0x437e55
push 0x438fb8
mov eax, dword [0x43bc34]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edx, dword [0x43bb6c]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x438eca
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0x438fd4
call fcn.004104cc
mov edx, dword [0x43bb80]
mov byte [edx], al
lea ecx, [ebp - 0xc]
mov eax, dword [0x43bc7c]
mov eax, dword [eax]
mov edx, 0x438fe4
call fcn.00406e2c
mov eax, dword [0x43bc38]
mov eax, dword [eax]
mov ecx, 0x438ff4
mov edx, dword [ebp - 0xc]
call fcn.0041c044
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x437eac
call fcn.0042b3bc
call fcn.0042a75c
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x43802c
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov ebx, dword [eax + 0x34]
mov ecx, ebx
mov dl, 1
mov eax, dword [0x420538]
call fcn.0041b3f8
mov edx, eax
mov eax, dword [0x43bc6c]
mov eax, ebx
call fcn.0041c40c
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
mov ebx, eax
lea eax, [ebx + 0x24]
mov edx, dword [0x43bc7c]
mov edx, dword [edx]
call fcn.00403630
mov byte [ebx + 0x38], 1
mov byte [ebx + 0x18], 1
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
call fcn.004371c4
test al, al
jne 0x437f34
call fcn.00403194
jmp 0x438ed4
call fcn.00436800
test al, al
jne 0x437f51
mov eax, 0x43900c
call fcn.00417f7c
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
call fcn.00437654
test al, al
jne 0x437f75
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.0041b728
mov dl, 1
mov eax, dword [0x419660]
call fcn.0041a184
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x437ffd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x38]
mov ecx, 0x439090
call fcn.004038a4
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.004375c4
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
call fcn.0041a2f0
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x48]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438004
mov eax, dword [ebp - 0x2c]
call fcn.00402c9c
ret
mov edx, 0x4390a4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423c7c
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4390b4
call fcn.00423ad0
mov edx, dword [0x43bba8]
mov byte [edx], al
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov ecx, 0x4390cc
mov edx, 0x4390d8
call fcn.00423874
lea eax, [ebp - 0x34]
mov ecx, 0x4390e8
mov edx, dword [ebp - 0x18]
call fcn.004038a4
mov eax, dword [ebp - 0x34]
call fcn.00403a1c
push eax
push 0
push 0
call sub.KERNEL32.DLL_CreateMutexA
mov edx, dword [0x43bbe0]
mov dword [edx], eax
call sub.KERNEL32.DLL_GetLastError_1
cmp eax, 0xb7
jne 0x4380c0
mov eax, dword [0x43bbe0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43bbe0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x43bb80]
cmp byte [eax], 0
je 0x438215
call fcn.00402774
cmp eax, 2
jl 0x438106
lea edx, [ebp - 0x34]
mov eax, 2
call fcn.004027d4
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
call fcn.00403968
je 0x438106
mov eax, 0x4390f8
call fcn.00417f7c
call fcn.00403194
jmp 0x438ed4
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43911c
call fcn.00423874
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
call fcn.00423504
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43bbe8]
call fcn.00403630
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43912c
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x43916c
call fcn.004077cc
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x439180
mov eax, dword [ebp - 0x14]
call fcn.00412e5c
cmp dword [ebp - 0xc], 0
jne 0x4381c0
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43912c
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x439198
call fcn.004077cc
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x439180
mov eax, dword [ebp - 0x14]
call fcn.00412e5c
cmp dword [ebp - 0xc], 0
je 0x4381d2
mov eax, dword [ebp - 0xc]
call fcn.00406c40
test al, al
jne 0x4381e6
mov eax, 0x4390f8
call fcn.00417f7c
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc38]
mov eax, dword [eax]
mov ecx, 0x438ff4
mov edx, dword [ebp - 0xc]
call fcn.0041c044
call fcn.0042b3bc
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov ecx, 0x4391ac
mov edx, 0x4391b8
call fcn.00423aec
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov ecx, 0x4391cc
mov edx, 0x4391d8
call fcn.00423874
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0xc]
call fcn.00406764
mov edx, 0x4391e4
mov eax, dword [ebp - 0xc]
call fcn.0040f74c
mov esi, eax
test esi, esi
jle 0x438290
mov ebx, 1
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x4391e4
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0040f894
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406900
lea eax, [ebp - 0x34]
mov edx, 0x43920c
call fcn.00403860
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x438252
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x439218
call fcn.00423ad0
test al, al
jne 0x4382b3
push 1
push 0x436d84
call sub.KERNEL32.DLL_EnumSystemLocalesA
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x43839f
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x38]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0041062c
cmp dword [ebp - 0x34], 0
jne 0x438397
lea ecx, [ebp - 0x34]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0xc]
call fcn.0041060c
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
push dword [eax + 0x20]
push 0x43923c
push 0x439248
push dword [ebp - 0xc]
push 0x439254
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.00403918
mov eax, dword [ebp - 0x34]
mov ecx, 0x439264
mov edx, 0x43927c
call fcn.00412524
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x43928c
call fcn.004077cc
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc ebx
dec esi
jne 0x4382cd
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x4383c0
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, 0x43929c
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4392b8
call fcn.00423874
cmp dword [ebp - 0x34], 0
jne 0x438459
xor ebx, ebx
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x4392c8
call fcn.00423ad0
test al, al
je 0x438440
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov ecx, 0x4391cc
mov edx, 0x4392e4
call fcn.00423874
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
call fcn.0040da5c
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x438439
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, 0x4391cc
call fcn.0040da5c
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x438440
xor ebx, ebx
lea ecx, [ebp - 0x34]
mov eax, dword [0x43bb58]
mov eax, dword [eax]
mov edx, ebx
call fcn.0040d7c4
mov eax, dword [ebp - 0x34]
call fcn.0042aa98
mov eax, dword [0x43bbe0]
cmp dword [eax], 0
jne 0x4384b6
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4392f8
call fcn.00423874
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, 0x15
call fcn.0042a644
mov eax, dword [ebp - 0x54]
xor ecx, ecx
pop edx
call fcn.004077cc
mov eax, dword [ebp - 0x34]
call fcn.0041804c
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0042129c
mov edx, eax
mov eax, dword [0x43bb8c]
mov eax, dword [eax]
call fcn.00435034
test al, al
jne 0x4384e3
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x4384f7
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bb80]
cmp byte [eax], 0
jne 0x438603
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x438603
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov edi, dword [eax + 0x40]
mov eax, edi
call fcn.0041c3cc
test eax, eax
jle 0x4385ae
lea eax, [ebp - 0xc]
mov edx, dword [0x43bc38]
mov edx, dword [edx]
mov edx, dword [edx + 0x1c]
call fcn.00403674
cmp dword [ebp - 0xc], 0
jne 0x43859a
xor eax, eax
mov dword [ebp - 8], eax
mov eax, edi
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438585
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, edi
call fcn.00421988
cmp byte [eax + 0x28], 0
je 0x438581
mov edx, ebx
mov eax, edi
call fcn.00421988
call fcn.00422048
test al, al
je 0x438581
mov dword [ebp - 8], ebx
jmp 0x438585
inc ebx
dec esi
jne 0x43855b
mov edx, dword [ebp - 8]
mov eax, edi
call fcn.00421988
mov edx, dword [eax + 0x18]
lea eax, [ebp - 0xc]
call fcn.00403674
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00421b5c
jmp 0x438665
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438665
inc esi
xor ebx, ebx
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00420fbc
call fcn.00422048
test al, al
je 0x4385fd
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00420fbc
mov dl, 1
call fcn.00420c14
inc ebx
dec esi
jne 0x4385cb
jmp 0x438665
lea eax, [ebp - 0xc]
call fcn.004035dc
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
je 0x438628
lea eax, [ebp - 0xc]
mov edx, dword [0x43bc6c]
mov edx, dword [edx]
mov edx, dword [edx + 0x2c]
call fcn.00403674
mov eax, dword [0x43bb80]
cmp byte [eax], 0
je 0x438645
lea eax, [ebp - 0xc]
mov edx, dword [0x43bc38]
mov edx, dword [edx]
mov edx, dword [edx + 0x1c]
call fcn.00403674
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xc]
call fcn.0041c890
mov edx, dword [0x43bc6c]
mov edx, dword [edx]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x4386d0
mov eax, dword [0x43bc38]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x4386d0
inc esi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [0x43bc38]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, ebx
call fcn.00420fbc
mov edx, dword [eax + 0x18]
lea ecx, [ebp - 0x24]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.00421080
mov edi, eax
test edi, edi
je 0x4386cc
mov eax, edi
call fcn.00422048
test al, al
je 0x4386cc
mov dl, 1
mov eax, edi
call fcn.00420c14
inc ebx
dec esi
jne 0x438688
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x4386ed
call fcn.004377ac
test al, al
jne 0x4386ed
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x438701
call fcn.00403194
jmp 0x438ed4
push 1
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.00434e0c
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x438725
call fcn.00403194
jmp 0x438ed4
mov byte [ebp - 0x2d], 1
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
je 0x438744
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
cmp byte [eax + 0x48], 1
jne 0x4387e2
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov byte [eax + 0x48], 0
mov eax, dword [0x43bbc8]
mov byte [eax], 0
mov bl, 1
push 0
mov dx, 6
xor eax, eax
call fcn.00405b60
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434e0c
test eax, eax
jne 0x4387bb
mov eax, 0x42b5e4
mov edx, 4
call fcn.0042b56c
mov ebx, eax
mov eax, dword [0x43bc14]
cmp byte [eax], 0
je 0x4387a0
mov byte [ebp - 1], bl
call fcn.00403194
jmp 0x438ed4
push 1
mov dx, 6
xor eax, eax
call fcn.00405b60
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434e0c
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
add eax, 0x28
call fcn.004035dc
test bl, bl
je 0x4387d8
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x4387e2
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x438c0a
push 0
xor ecx, ecx
xor edx, edx
mov eax, 6
call fcn.00434e0c
test eax, eax
je 0x43880e
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x438822
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041c3cc
test eax, eax
jne 0x438889
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438983
inc esi
xor ebx, ebx
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004214a8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
call fcn.00422048
test al, al
je 0x438880
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x44], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x45], 1
inc ebx
dec esi
jne 0x438852
jmp 0x438983
lea eax, [ebp - 0xc]
call fcn.004035dc
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00421080
mov edi, eax
test edi, edi
je 0x438979
cmp byte [edi + 0x34], 0
je 0x438965
cmp dword [edi + 0x30], 0
je 0x438965
mov eax, dword [edi + 0x30]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438965
inc esi
xor ebx, ebx
mov eax, dword [edi + 0x30]
mov edx, ebx
call fcn.004214a8
mov edx, dword [eax + 0x18]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041c890
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x43891f
mov eax, dword [ebp - 0x20]
call fcn.00422048
test al, al
je 0x43895d
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x44], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x45], 1
jmp 0x43895d
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x30]
mov edx, ebx
call fcn.004214a8
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x439308
call fcn.004077cc
mov edx, dword [ebp - 0x34]
mov eax, 0x439330
call fcn.0042b108
call fcn.00403194
jmp 0x438ed4
inc ebx
dec esi
jne 0x4388de
cmp dword [ebp - 0x28], 0
je 0x438979
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x18]
call fcn.00403674
cmp dword [ebp - 0x28], 0
jne 0x438891
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041c3cc
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4389f9
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004214a8
mov esi, eax
cmp byte [esi + 0x44], 0
je 0x4389e2
cmp dword [esi + 0x24], 0
jne 0x4389f3
lea edx, [ebp - 0x38]
mov eax, dword [0x43bc7c]
mov eax, dword [eax]
call fcn.00406f88
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.00406e2c
mov edx, dword [ebp - 0x34]
lea eax, [esi + 0x24]
call fcn.00403630
jmp 0x4389f3
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.0041c44c
dec ebx
cmp ebx, 0xffffffff
jne 0x43899a
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438a77
inc esi
xor ebx, ebx
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004214a8
mov edi, eax
mov edx, dword [edi + 0x24]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.00421314
test eax, eax
jne 0x438a6f
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x439340
call fcn.004077cc
mov edx, dword [ebp - 0x34]
mov eax, 0x439330
call fcn.0042b108
call fcn.00403194
jmp 0x438ed4
mov byte [eax + 0x38], 1
inc ebx
dec esi
jne 0x438a12
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041c3cc
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x438abb
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0042129c
cmp byte [eax + 0x38], 0
jne 0x438ab6
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0041c44c
dec ebx
test ebx, ebx
jne 0x438a8e
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jle 0x438b37
mov ebx, 1
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0042129c
mov edi, eax
lea ecx, [ebp - 0x38]
mov eax, dword [edi + 0x1c]
mov edx, 0x439374
call fcn.00406e2c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00407008
mov edx, dword [ebp - 0x34]
lea eax, [edi + 0x24]
call fcn.00403630
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0042129c
call fcn.004371c4
test al, al
jne 0x438b33
call fcn.00403194
jmp 0x438ed4
inc ebx
dec esi
jne 0x438ad6
call fcn.00436800
test al, al
jne 0x438b59
mov edx, 0x439384
mov eax, 0x439330
call fcn.0042b108
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jle 0x438b9c
mov ebx, 1
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0042129c
call fcn.00437654
test al, al
jne 0x438b98
call fcn.00403194
jmp 0x438ed4
inc ebx
dec esi
jne 0x438b74
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jl 0x438c0a
inc esi
xor ebx, ebx
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004214a8
mov edi, eax
mov edx, dword [edi + 0x24]
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.00421314
mov eax, dword [eax + 0x28]
mov edx, dword [edi + 0x18]
call fcn.0041c890
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x438c06
mov eax, dword [ebp - 0x20]
add eax, 0x24
mov edx, dword [edi + 0x24]
call fcn.00403630
mov edx, dword [ebp - 0x20]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
inc ebx
dec esi
jne 0x438bb5
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041c3cc
mov esi, eax
dec esi
test esi, esi
jle 0x438c48
mov ebx, 1
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0042129c
mov edx, eax
mov eax, dword [0x43bb8c]
mov eax, dword [eax]
call fcn.00435034
inc ebx
dec esi
jne 0x438c25
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x438c5c
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x438c98
push 0
xor ecx, ecx
xor edx, edx
mov eax, 8
call fcn.00434e0c
test eax, eax
je 0x438c84
call fcn.00403194
jmp 0x438ed4
mov eax, dword [0x43bb7c]
cmp byte [eax], 0
je 0x438c98
call fcn.00403194
jmp 0x438ed4
call fcn.0043013c
mov byte [ebp - 1], al
mov eax, dword [0x43bc14]
cmp byte [eax], 0
jne 0x438cfd
cmp byte [ebp - 1], 0
je 0x438ccc
push 1
xor ecx, ecx
xor edx, edx
mov eax, 9
call fcn.00434e0c
mov eax, dword [0x43bb7c]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x438cfd
push 0
xor ecx, ecx
mov edx, 1
mov eax, 6
call fcn.00434e0c
test eax, eax
sete byte [ebp - 1]
cmp byte [ebp - 1], 0
je 0x438cfd
mov eax, dword [0x43bb7c]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x438d6a
mov eax, dword [0x43bc30]
cmp byte [eax], 0
jne 0x438d6a
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
cmp byte [eax + 0x49], 0
je 0x438d37
mov eax, dword [0x43bbc8]
cmp byte [eax], 0
jne 0x438d37
mov edx, 0x4390a4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
mov cl, 1
call fcn.00423c7c
mov edx, 0x4390a4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423ad0
test al, al
je 0x438d6a
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x16
call fcn.00434e0c
mov eax, dword [0x43bb7c]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438ed4
cmp byte [ebp - 1], 0
je 0x438d85
call fcn.0042c2bc
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x438e17
mov edx, 0x4390a4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423c7c
mov eax, dword [0x43bc14]
mov byte [eax], 0
mov eax, dword [0x43bba8]
cmp byte [eax], 0
jne 0x438e17
mov eax, dword [0x43bc54]
mov eax, dword [eax]
call fcn.0041c3cc
test eax, eax
jle 0x438e17
lea edx, [ebp - 0x34]
mov eax, 0x12
call fcn.0042a644
mov eax, dword [ebp - 0x34]
mov edx, 0x2ee
call fcn.00428bf4
xor eax, eax
push ebp
push 0x438e10
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004123dc
mov eax, dword [0x43bc54]
mov eax, dword [eax]
call fcn.00429b3c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438e17
call fcn.00428c20
ret
mov eax, dword [0x43bc14]
mov al, byte [eax]
xor al, 1
and al, byte [ebp - 0x2d]
je 0x438e38
push 1
xor edx, edx
mov dl, byte [ebp - 1]
xor ecx, ecx
mov eax, 5
call fcn.00434e0c
mov edx, 0x4390a4
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423ad0
mov byte [0x43c864], al
mov eax, dword [0x43bb8c]
mov eax, dword [eax]
call fcn.004354b8
mov eax, dword [ebp - 0x10]
call fcn.00407168
mov eax, dword [0x43bbe0]
cmp dword [eax], 0
je 0x438e7b
mov eax, dword [0x43bbe0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43bc34]
cmp dword [eax], 0
je 0x438e92
mov eax, dword [0x43bc34]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FreeLibrary_1
call fcn.004123dc
mov eax, dword [0x43bb58]
mov eax, dword [eax]
call fcn.00402c9c
mov eax, dword [0x43bc6c]
mov eax, dword [eax]
call fcn.00402c9c
mov eax, dword [0x43bc70]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x43bc5c]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyIcon
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438f0b
lea eax, [ebp - 0x54]
call fcn.004035dc
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00403600
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.00403600
ret