Function at 0x437fc4
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 0x43925c
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x43b9e8]
cmp dword [eax], 0
jne 0x43800d
mov edx, dword [0x43b9e8]
xor eax, eax
call fcn.004027d4
mov eax, dword [0x43b9cc]
mov dword [eax], 0x10000
mov eax, dword [0x43b91c]
mov eax, dword [eax]
mov edx, dword [0x43b8e4]
mov dword [edx], eax
push 0x439270
mov eax, dword [0x43b8e4]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, dword [0x43b9c8]
mov dword [edx], eax
mov eax, dword [0x43b8dc]
mov byte [eax], 1
mov byte [ebp - 0x2d], 0
call fcn.004370ac
mov edx, dword [0x43b9dc]
mov dword [edx], eax
mov eax, dword [0x43b9dc]
cmp dword [eax], 0
jne 0x438073
mov eax, 0x439284
call fcn.00417710
jmp 0x43922c
mov eax, dword [0x43b9dc]
mov eax, dword [eax]
mov edx, dword [0x43b9b4]
mov dword [edx], eax
mov edx, dword [0x43b9f0]
mov edx, dword [edx]
mov eax, dword [0x43b964]
mov ecx, 0x4392a8
call fcn.0040387c
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x43813c
push 0xa
push 0x4392b4
mov eax, dword [0x43b8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x4380d0
mov eax, 0x4392c4
call fcn.00417710
jmp 0x43922c
push ebx
mov eax, dword [0x43b8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SizeofResource
mov esi, eax
push ebx
mov eax, dword [0x43b8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_LoadResource
push eax
call sub.KERNEL32.DLL_LockResource
mov ebx, eax
mov eax, dword [0x43b964]
mov eax, dword [eax]
call fcn.00406acc
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x438135
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, ebx
mov ecx, esi
mov eax, dword [ebp - 0x1c]
call fcn.00406b1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43813c
mov eax, dword [ebp - 0x1c]
call fcn.00406b54
ret
mov dl, 1
mov eax, dword [0x40bbe4]
call fcn.00402c4c
mov edx, dword [0x43b8c4]
mov dword [edx], eax
lea eax, [ebp - 0x10]
call fcn.004070c4
lea edx, [ebp - 0x34]
mov eax, dword [0x43b9e8]
mov eax, dword [eax]
call fcn.00406e44
mov eax, dword [ebp - 0x34]
call fcn.004070ec
mov eax, dword [0x43b998]
cmp dword [eax + 1], 4
jg 0x438184
mov eax, dword [0x43b998]
cmp byte [eax], 5
jne 0x438196
push 0x4392e0
call sub.KERNEL32.DLL_LoadLibraryA
mov edx, dword [0x43b9a0]
mov dword [edx], eax
mov eax, dword [0x43b9a0]
cmp dword [eax], 0
je 0x4381ba
push 0x4392e8
mov eax, dword [0x43b9a0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edx, dword [0x43b8d8]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x439222
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0x439304
call fcn.0040fccc
mov edx, dword [0x43b8ec]
mov byte [edx], al
lea ecx, [ebp - 0xc]
mov eax, dword [0x43b9e8]
mov eax, dword [eax]
mov edx, 0x439314
call fcn.00406db0
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov ecx, 0x439324
mov edx, dword [ebp - 0xc]
call fcn.0041b718
mov eax, dword [0x43b934]
cmp byte [eax], 0
call fcn.0042af50
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x4383a6
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x38]
mov ecx, ebx
mov dl, 1
mov eax, dword [0x420678]
call fcn.004216e8
mov edx, eax
mov eax, dword [0x43b9d8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
mov ebx, eax
lea eax, [ebx + 0x28]
mov edx, dword [0x43b9e8]
mov edx, dword [edx]
call fcn.00403608
mov byte [ebx + 0x3c], 1
mov byte [ebx + 0x1c], 1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
call fcn.0043753c
test al, al
jne 0x438292
call fcn.0040316c
jmp 0x43922c
call fcn.00436c4c
test al, al
jne 0x4382af
mov eax, 0x43933c
call fcn.00417710
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
call fcn.004379cc
test al, al
jne 0x4382d3
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041abb8
mov dl, 1
mov eax, dword [0x418a64]
call fcn.004195f8
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x43835b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x38]
mov ecx, 0x4393c0
call fcn.0040387c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0043793c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
call fcn.00419764
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x50]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x438362
mov eax, dword [ebp - 0x2c]
call fcn.00402c74
ret
mov edx, 0x4394c4
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004242e0
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4394d4
call fcn.0042412c
mov edx, dword [0x43b914]
mov byte [edx], al
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x4394ec
mov edx, 0x4394f8
call fcn.00423ec8
lea eax, [ebp - 0x34]
mov ecx, 0x439508
mov edx, dword [ebp - 0x18]
call fcn.0040387c
mov eax, dword [ebp - 0x34]
call fcn.004039f4
push eax
push 0
push 0
call sub.KERNEL32.DLL_CreateMutexA
mov edx, dword [0x43b94c]
mov dword [edx], eax
call sub.KERNEL32.DLL_GetLastError_1
cmp eax, 0xb7
jne 0x43843a
mov eax, dword [0x43b94c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43b94c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x43b8ec]
cmp byte [eax], 0
je 0x43858f
call fcn.00402774
cmp eax, 2
jl 0x438480
lea edx, [ebp - 0x34]
mov eax, 2
call fcn.004027d4
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
call fcn.00403940
je 0x438480
mov eax, 0x439518
call fcn.00417710
call fcn.0040316c
jmp 0x43922c
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43953c
call fcn.00423ec8
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
call fcn.00423b54
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43b954]
call fcn.00403608
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43954c
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, 0x43958c
call fcn.00407750
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x4395a0
mov eax, dword [ebp - 0x14]
call fcn.0041297c
cmp dword [ebp - 0xc], 0
jne 0x43853a
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43954c
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, 0x4395b8
call fcn.00407750
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x4395a0
mov eax, dword [ebp - 0x14]
call fcn.0041297c
cmp dword [ebp - 0xc], 0
je 0x43854c
mov eax, dword [ebp - 0xc]
call fcn.00406bc4
test al, al
jne 0x438560
mov eax, 0x439518
call fcn.00417710
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov ecx, 0x439324
mov edx, dword [ebp - 0xc]
call fcn.0041b718
call fcn.0042bd30
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x4395cc
mov edx, 0x4395d8
call fcn.00424148
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x4395ec
mov edx, 0x4395f8
call fcn.00423ec8
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0xc]
call fcn.004066e8
mov edx, 0x439604
mov eax, dword [ebp - 0xc]
call fcn.0040ef40
mov esi, eax
test esi, esi
jle 0x43860a
mov ebx, 1
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x439604
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0040f088
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406884
lea eax, [ebp - 0x34]
mov edx, 0x43962c
call fcn.00403838
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x4385cc
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x439638
call fcn.0042412c
test al, al
jne 0x43862d
push 1
push 0x4371dc
call sub.KERNEL32.DLL_EnumSystemLocalesA
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x438719
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x38]
mov eax, dword [0x43b8c4]
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.0040fe2c
cmp dword [ebp - 0x34], 0
jne 0x438711
lea ecx, [ebp - 0x34]
mov eax, dword [0x43b8c4]
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.0040fe0c
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 [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
push dword [eax + 0x24]
push 0x43965c
push 0x439668
push dword [ebp - 0xc]
push 0x439674
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.004038f0
mov eax, dword [ebp - 0x34]
mov ecx, 0x439684
mov edx, 0x43969c
call fcn.0041203c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x4396ac
call fcn.00407750
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc ebx
dec esi
jne 0x438647
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x43873a
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, 0x4396bc
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4396d8
call fcn.00423ec8
cmp dword [ebp - 0x34], 0
jne 0x4387d3
xor ebx, ebx
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x4396e8
call fcn.0042412c
test al, al
je 0x4387ba
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x4395ec
mov edx, 0x439704
call fcn.00423ec8
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
call fcn.0040d318
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4387b3
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, 0x4395ec
call fcn.0040d318
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4387ba
xor ebx, ebx
lea ecx, [ebp - 0x34]
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
mov edx, ebx
call fcn.0040d080
mov eax, dword [ebp - 0x34]
call fcn.0042b3ac
mov eax, dword [0x43b94c]
cmp dword [eax], 0
jne 0x438830
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x439718
call fcn.00423ec8
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.0042ae30
mov eax, dword [ebp - 0x54]
xor ecx, ecx
pop edx
call fcn.00407750
mov eax, dword [ebp - 0x34]
call fcn.004177e0
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
mov edx, eax
mov eax, dword [0x43b8f8]
mov eax, dword [eax]
call fcn.00435438
test al, al
jne 0x43885d
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438871
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b8ec]
cmp byte [eax], 0
jne 0x43897d
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x43897d
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov edi, dword [eax + 0x44]
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jle 0x438928
lea eax, [ebp - 0xc]
mov edx, dword [0x43b9a4]
mov edx, dword [edx]
mov edx, dword [edx + 0x20]
call fcn.0040364c
cmp dword [ebp - 0xc], 0
jne 0x438914
xor eax, eax
mov dword [ebp - 8], eax
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x4388ff
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, edi
call fcn.00421e40
cmp byte [eax + 0x34], 0
je 0x4388fb
mov edx, ebx
mov eax, edi
call fcn.00421e40
call fcn.0042263c
test al, al
je 0x4388fb
mov dword [ebp - 8], ebx
jmp 0x4388ff
inc ebx
dec esi
jne 0x4388d5
mov edx, dword [ebp - 8]
mov eax, edi
call fcn.00421e40
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
call fcn.0040364c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00422098
jmp 0x4389df
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x4389df
inc esi
xor ebx, ebx
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00421358
call fcn.0042263c
test al, al
je 0x438977
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00421358
mov dl, 1
call fcn.00420dd8
inc ebx
dec esi
jne 0x438945
jmp 0x4389df
lea eax, [ebp - 0xc]
call fcn.004035b4
mov eax, dword [0x43b934]
cmp byte [eax], 0
je 0x4389a2
lea eax, [ebp - 0xc]
mov edx, dword [0x43b9d8]
mov edx, dword [edx]
mov edx, dword [edx + 0x30]
call fcn.0040364c
mov eax, dword [0x43b8ec]
cmp byte [eax], 0
je 0x4389bf
lea eax, [ebp - 0xc]
mov edx, dword [0x43b9a4]
mov edx, dword [edx]
mov edx, dword [edx + 0x20]
call fcn.0040364c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xc]
call fcn.0041c200
mov edx, dword [0x43b9d8]
mov edx, dword [edx]
mov edx, dword [edx + 0x44]
mov dword [edx + 0x20], eax
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x438a28
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x438a28
inc esi
xor ebx, ebx
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov edx, ebx
call fcn.00421358
mov edx, dword [eax + 0x24]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.00422240
inc ebx
dec esi
jne 0x438a02
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x438a45
call fcn.00437b24
test al, al
jne 0x438a45
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438a59
call fcn.0040316c
jmp 0x43922c
push 1
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.00435210
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438a7d
call fcn.0040316c
jmp 0x43922c
mov byte [ebp - 0x2d], 1
mov eax, dword [0x43b934]
cmp byte [eax], 0
je 0x438a9c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 1
jne 0x438b3a
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43b934]
mov byte [eax], 0
mov bl, 1
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x438b13
mov eax, 0x42bf78
mov edx, 4
call fcn.0042bf00
mov ebx, eax
mov eax, dword [0x43b980]
cmp byte [eax], 0
je 0x438af8
mov byte [ebp - 1], bl
call fcn.0040316c
jmp 0x43922c
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
test bl, bl
je 0x438b30
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438b3a
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x438f62
push 0
xor ecx, ecx
xor edx, edx
mov eax, 6
call fcn.00435210
test eax, eax
je 0x438b66
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438b7a
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x438be1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x438cdb
inc esi
xor ebx, ebx
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00421960
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
call fcn.0042263c
test al, al
je 0x438bd8
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x54], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x55], 1
inc ebx
dec esi
jne 0x438baa
jmp 0x438cdb
lea eax, [ebp - 0xc]
call fcn.004035b4
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xc]
call fcn.0042141c
mov edi, eax
test edi, edi
je 0x438cd1
cmp byte [edi + 0x40], 0
je 0x438cbd
cmp dword [edi + 0x3c], 0
je 0x438cbd
mov eax, dword [edi + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x438cbd
inc esi
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov edx, ebx
call fcn.00421960
mov edx, dword [eax + 0x24]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041c200
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x438c77
mov eax, dword [ebp - 0x20]
call fcn.0042263c
test al, al
je 0x438cb5
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x54], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x55], 1
jmp 0x438cb5
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x3c]
mov edx, ebx
call fcn.00421960
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x439728
call fcn.00407750
mov edx, dword [ebp - 0x34]
mov eax, 0x439750
call fcn.0042ba28
call fcn.0040316c
jmp 0x43922c
inc ebx
dec esi
jne 0x438c36
cmp dword [ebp - 0x28], 0
je 0x438cd1
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x24]
call fcn.0040364c
cmp dword [ebp - 0x28], 0
jne 0x438be9
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x438d51
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00421960
mov esi, eax
cmp byte [esi + 0x54], 0
je 0x438d3a
cmp dword [esi + 0x30], 0
jne 0x438d4b
lea edx, [ebp - 0x38]
mov eax, dword [0x43b9e8]
mov eax, dword [eax]
call fcn.00406f0c
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.00406db0
mov edx, dword [ebp - 0x34]
lea eax, [esi + 0x30]
call fcn.00403608
jmp 0x438d4b
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x6c]
dec ebx
cmp ebx, 0xffffffff
jne 0x438cf2
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x438dcf
inc esi
xor ebx, ebx
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00421960
mov edi, eax
mov edx, dword [edi + 0x30]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.004217cc
test eax, eax
jne 0x438dc7
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x439760
call fcn.00407750
mov edx, dword [ebp - 0x34]
mov eax, 0x439750
call fcn.0042ba28
call fcn.0040316c
jmp 0x43922c
mov byte [eax + 0x3c], 1
inc ebx
dec esi
jne 0x438d6a
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x54]
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x438e13
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00421754
cmp byte [eax + 0x3c], 0
jne 0x438e0e
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x6c]
dec ebx
test ebx, ebx
jne 0x438de6
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jle 0x438e8f
mov ebx, 1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00421754
mov edi, eax
lea ecx, [ebp - 0x38]
mov eax, dword [edi + 0x20]
mov edx, 0x439794
call fcn.00406db0
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406f8c
mov edx, dword [ebp - 0x34]
lea eax, [edi + 0x28]
call fcn.00403608
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00421754
call fcn.0043753c
test al, al
jne 0x438e8b
call fcn.0040316c
jmp 0x43922c
inc ebx
dec esi
jne 0x438e2e
call fcn.00436c4c
test al, al
jne 0x438eb1
mov edx, 0x4397a4
mov eax, 0x439750
call fcn.0042ba28
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jle 0x438ef4
mov ebx, 1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00421754
call fcn.004379cc
test al, al
jne 0x438ef0
call fcn.0040316c
jmp 0x43922c
inc ebx
dec esi
jne 0x438ecc
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x438f62
inc esi
xor ebx, ebx
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00421960
mov edi, eax
mov edx, dword [edi + 0x30]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.004217cc
mov eax, dword [eax + 0x2c]
mov edx, dword [edi + 0x24]
call fcn.0041c200
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x438f5e
mov eax, dword [ebp - 0x20]
add eax, 0x30
mov edx, dword [edi + 0x30]
call fcn.00403608
mov edx, dword [ebp - 0x20]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
inc ebx
dec esi
jne 0x438f0d
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jle 0x438fa0
mov ebx, 1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00421754
mov edx, eax
mov eax, dword [0x43b8f8]
mov eax, dword [eax]
call fcn.00435438
inc ebx
dec esi
jne 0x438f7d
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438fb4
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x438ff0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 8
call fcn.00435210
test eax, eax
je 0x438fdc
call fcn.0040316c
jmp 0x43922c
mov eax, dword [0x43b8e8]
cmp byte [eax], 0
je 0x438ff0
call fcn.0040316c
jmp 0x43922c
call fcn.00430c40
mov byte [ebp - 1], al
mov eax, dword [0x43b980]
cmp byte [eax], 0
jne 0x439055
cmp byte [ebp - 1], 0
je 0x439024
push 1
xor ecx, ecx
xor edx, edx
mov eax, 9
call fcn.00435210
mov eax, dword [0x43b8e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x439055
push 0
xor ecx, ecx
mov edx, 1
mov eax, 6
call fcn.00435210
test eax, eax
sete byte [ebp - 1]
cmp byte [ebp - 1], 0
je 0x439055
mov eax, dword [0x43b8e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4390c2
mov eax, dword [0x43b99c]
cmp byte [eax], 0
jne 0x4390c2
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
cmp byte [eax + 0x4d], 0
je 0x43908f
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x43908f
mov edx, 0x4394c4
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.004242e0
mov edx, 0x4394c4
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0042412c
test al, al
je 0x4390c2
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x16
call fcn.00435210
mov eax, dword [0x43b8e8]
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 0x43922c
cmp byte [ebp - 1], 0
je 0x4390dd
call fcn.0042cc50
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x43916f
mov edx, 0x4394c4
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004242e0
mov eax, dword [0x43b980]
mov byte [eax], 0
mov eax, dword [0x43b914]
cmp byte [eax], 0
jne 0x43916f
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jle 0x43916f
lea edx, [ebp - 0x34]
mov eax, 0x12
call fcn.0042ae30
mov eax, dword [ebp - 0x34]
mov edx, 0x2ee
call fcn.00429344
xor eax, eax
push ebp
push 0x439168
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00411ef4
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
call fcn.0042a300
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43916f
call fcn.00429370
ret
mov eax, dword [0x43b980]
mov al, byte [eax]
xor al, 1
and al, byte [ebp - 0x2d]
je 0x439190
push 1
xor edx, edx
mov dl, byte [ebp - 1]
xor ecx, ecx
mov eax, 5
call fcn.00435210
mov edx, 0x4394c4
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0042412c
mov byte [0x43c860], al
mov eax, dword [0x43b8f8]
mov eax, dword [eax]
call fcn.004358bc
mov eax, dword [ebp - 0x10]
call fcn.004070ec
mov eax, dword [0x43b94c]
cmp dword [eax], 0
je 0x4391d3
mov eax, dword [0x43b94c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43b9a0]
cmp dword [eax], 0
je 0x4391ea
mov eax, dword [0x43b9a0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FreeLibrary_1
call fcn.00411ef4
mov eax, dword [0x43b8c4]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43b9dc]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x43b9c8]
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 0x439263
lea eax, [ebp - 0x54]
call fcn.004035b4
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004035d8
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.004035d8
ret