Function at 0x439398
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 0x43a61b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x43dae8]
cmp dword [eax], 0
jne 0x4393e1
mov edx, dword [0x43dae8]
xor eax, eax
call fcn.004027d4
mov eax, dword [0x43dacc]
mov dword [eax], 0x10000
mov eax, dword [0x43da1c]
mov eax, dword [eax]
mov edx, dword [0x43d9e4]
mov dword [edx], eax
push 0x43a62c
mov eax, dword [0x43d9e4]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, dword [0x43dac8]
mov dword [edx], eax
mov eax, dword [0x43d9dc]
mov byte [eax], 1
mov byte [ebp - 0x2d], 0
call fcn.00438400
mov edx, dword [0x43dadc]
mov dword [edx], eax
mov eax, dword [0x43dadc]
cmp dword [eax], 0
jne 0x439447
mov eax, 0x43a640
call fcn.00418214
jmp 0x43a5eb
mov eax, dword [0x43dadc]
mov eax, dword [eax]
mov edx, dword [0x43dab4]
mov dword [edx], eax
mov edx, dword [0x43daf0]
mov edx, dword [edx]
mov eax, dword [0x43da64]
mov ecx, 0x43a664
call fcn.0040387c
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x439510
push 0xa
push 0x43a670
mov eax, dword [0x43d9e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x4394a4
mov eax, 0x43a680
call fcn.00418214
jmp 0x43a5eb
push ebx
mov eax, dword [0x43d9e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SizeofResource
mov esi, eax
push ebx
mov eax, dword [0x43d9e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_LoadResource
push eax
call sub.KERNEL32.DLL_LockResource
mov ebx, eax
mov eax, dword [0x43da64]
mov eax, dword [eax]
call fcn.00406ae4
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x439509
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, ebx
mov ecx, esi
mov eax, dword [ebp - 0x1c]
call fcn.00406b34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x439510
mov eax, dword [ebp - 0x1c]
call fcn.00406b6c
ret
mov dl, 1
mov eax, dword [0x40c410]
call fcn.00402c4c
mov edx, dword [0x43d9c4]
mov dword [edx], eax
lea eax, [ebp - 0x10]
call fcn.004070dc
lea edx, [ebp - 0x34]
mov eax, dword [0x43dae8]
mov eax, dword [eax]
call fcn.00406e5c
mov eax, dword [ebp - 0x34]
call fcn.00407104
mov eax, dword [0x43da98]
cmp dword [eax + 1], 4
jg 0x439558
mov eax, dword [0x43da98]
cmp byte [eax], 5
jne 0x43956a
push 0x43a69c
call sub.KERNEL32.DLL_LoadLibraryA
mov edx, dword [0x43daa0]
mov dword [edx], eax
mov eax, dword [0x43daa0]
cmp dword [eax], 0
je 0x43958e
push 0x43a6a4
mov eax, dword [0x43daa0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edx, dword [0x43d9d8]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x43a5e1
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0x43a6c0
call fcn.004105c0
mov edx, dword [0x43d9ec]
mov byte [edx], al
lea ecx, [ebp - 0xc]
mov eax, dword [0x43dae8]
mov eax, dword [eax]
mov edx, 0x43a6d0
call fcn.00406dc8
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov ecx, 0x43a6e0
mov edx, dword [ebp - 0xc]
call fcn.0041c294
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x4395e5
call fcn.0042c8a8
call fcn.0042bac8
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x439765
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x38]
mov ecx, ebx
mov dl, 1
mov eax, dword [0x4211f4]
call fcn.00422264
mov edx, eax
mov eax, dword [0x43dad8]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
mov ebx, eax
lea eax, [ebx + 0x28]
mov edx, dword [0x43dae8]
mov edx, dword [edx]
call fcn.00403608
mov byte [ebx + 0x3c], 1
mov byte [ebx + 0x1c], 1
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
call fcn.00438890
test al, al
jne 0x43966d
call fcn.0040316c
jmp 0x43a5eb
call fcn.00437fa0
test al, al
jne 0x43968a
mov eax, 0x43a6f8
call fcn.00418214
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
call fcn.00438da0
test al, al
jne 0x4396ae
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041b734
mov dl, 1
mov eax, dword [0x4195e0]
call fcn.0041a174
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x439736
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x38]
mov ecx, 0x43a77c
call fcn.0040387c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00438d10
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
call fcn.0041a2e0
mov eax, dword [0x43dad8]
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 0x43973d
mov eax, dword [ebp - 0x2c]
call fcn.00402c74
ret
mov edx, 0x43a790
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00424e58
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43a7a0
call fcn.00424ca4
mov edx, dword [0x43da14]
mov byte [edx], al
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x43a7b8
mov edx, 0x43a7c4
call fcn.00424a40
lea eax, [ebp - 0x34]
mov ecx, 0x43a7d4
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 [0x43da4c]
mov dword [edx], eax
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0xb7
jne 0x4397f9
mov eax, dword [0x43da4c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x43da4c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x43d9ec]
cmp byte [eax], 0
je 0x43994e
call fcn.00402774
cmp eax, 2
jl 0x43983f
lea edx, [ebp - 0x34]
mov eax, 2
call fcn.004027d4
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
call fcn.00403940
je 0x43983f
mov eax, 0x43a7e4
call fcn.00418214
call fcn.0040316c
jmp 0x43a5eb
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43a808
call fcn.00424a40
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
call fcn.004246d0
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43da54]
call fcn.00403608
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43a818
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, 0x43a858
call fcn.00407768
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x43a86c
mov eax, dword [ebp - 0x14]
call fcn.00413270
cmp dword [ebp - 0xc], 0
jne 0x4398f9
lea eax, [ebp - 0x14]
push eax
mov eax, 0x43a818
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, 0x43a884
call fcn.00407768
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x43a86c
mov eax, dword [ebp - 0x14]
call fcn.00413270
cmp dword [ebp - 0xc], 0
je 0x43990b
mov eax, dword [ebp - 0xc]
call fcn.00406bdc
test al, al
jne 0x43991f
mov eax, 0x43a7e4
call fcn.00418214
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov ecx, 0x43a6e0
mov edx, dword [ebp - 0xc]
call fcn.0041c294
call fcn.0042c8a8
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x43a898
mov edx, 0x43a8a4
call fcn.00424cc0
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x43a8b8
mov edx, 0x43a8c4
call fcn.00424a40
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0xc]
call fcn.00406700
mov edx, 0x43a8d0
mov eax, dword [ebp - 0xc]
call fcn.0040f834
mov esi, eax
test esi, esi
jle 0x4399c9
mov ebx, 1
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x43a8d0
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0040f97c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.0040689c
lea eax, [ebp - 0x34]
mov edx, 0x43a8f8
call fcn.00403838
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x43998b
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43a904
call fcn.00424ca4
test al, al
jne 0x4399ec
push 1
push 0x438530
call sub.KERNEL32.DLL_EnumSystemLocalesA
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x439ad8
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x38]
mov eax, dword [0x43d9c4]
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.00410720
cmp dword [ebp - 0x34], 0
jne 0x439ad0
lea ecx, [ebp - 0x34]
mov eax, dword [0x43d9c4]
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.00410700
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 [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
push dword [eax + 0x24]
push 0x43a928
push 0x43a934
push dword [ebp - 0xc]
push 0x43a940
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.004038f0
mov eax, dword [ebp - 0x34]
mov ecx, 0x43a950
mov edx, 0x43a968
call fcn.00412930
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x43a978
call fcn.00407768
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc ebx
dec esi
jne 0x439a06
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x439af9
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, 0x43a988
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43a9a4
call fcn.00424a40
cmp dword [ebp - 0x34], 0
jne 0x439b92
xor ebx, ebx
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x43a9b4
call fcn.00424ca4
test al, al
je 0x439b79
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x43a8b8
mov edx, 0x43a9d0
call fcn.00424a40
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
call fcn.0040db44
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x439b72
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, 0x43a8b8
call fcn.0040db44
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x439b79
xor ebx, ebx
lea ecx, [ebp - 0x34]
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
mov edx, ebx
call fcn.0040d8ac
mov eax, dword [ebp - 0x34]
call fcn.0042bf24
mov eax, dword [0x43da4c]
cmp dword [eax], 0
jne 0x439bef
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43a9e4
call fcn.00424a40
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.0042b9a8
mov eax, dword [ebp - 0x54]
xor ecx, ecx
pop edx
call fcn.00407768
mov eax, dword [ebp - 0x34]
call fcn.004182e4
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
mov edx, eax
mov eax, dword [0x43d9f8]
mov eax, dword [eax]
call fcn.0043678c
test al, al
jne 0x439c1c
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x439c30
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43d9ec]
cmp byte [eax], 0
jne 0x439d3c
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x439d3c
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov edi, dword [eax + 0x44]
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jle 0x439ce7
lea eax, [ebp - 0xc]
mov edx, dword [0x43daa4]
mov edx, dword [edx]
mov edx, dword [edx + 0x20]
call fcn.0040364c
cmp dword [ebp - 0xc], 0
jne 0x439cd3
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 0x439cbe
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, edi
call fcn.004229bc
cmp byte [eax + 0x34], 0
je 0x439cba
mov edx, ebx
mov eax, edi
call fcn.004229bc
call fcn.004231b8
test al, al
je 0x439cba
mov dword [ebp - 8], ebx
jmp 0x439cbe
inc ebx
dec esi
jne 0x439c94
mov edx, dword [ebp - 8]
mov eax, edi
call fcn.004229bc
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
call fcn.0040364c
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.00422c14
jmp 0x439d9e
mov eax, dword [0x43dad8]
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 0x439d9e
inc esi
xor ebx, ebx
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00421ed4
call fcn.004231b8
test al, al
je 0x439d36
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.00421ed4
mov dl, 1
call fcn.00421954
inc ebx
dec esi
jne 0x439d04
jmp 0x439d9e
lea eax, [ebp - 0xc]
call fcn.004035b4
mov eax, dword [0x43da34]
cmp byte [eax], 0
je 0x439d61
lea eax, [ebp - 0xc]
mov edx, dword [0x43dad8]
mov edx, dword [edx]
mov edx, dword [edx + 0x30]
call fcn.0040364c
mov eax, dword [0x43d9ec]
cmp byte [eax], 0
je 0x439d7e
lea eax, [ebp - 0xc]
mov edx, dword [0x43daa4]
mov edx, dword [edx]
mov edx, dword [edx + 0x20]
call fcn.0040364c
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xc]
call fcn.0041cd7c
mov edx, dword [0x43dad8]
mov edx, dword [edx]
mov edx, dword [edx + 0x44]
mov dword [edx + 0x20], eax
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x439de7
mov eax, dword [0x43daa4]
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 0x439de7
inc esi
xor ebx, ebx
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov edx, ebx
call fcn.00421ed4
mov edx, dword [eax + 0x24]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov cl, 1
call fcn.00422dbc
inc ebx
dec esi
jne 0x439dc1
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x439e04
call fcn.00438ef8
test al, al
jne 0x439e04
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x439e18
call fcn.0040316c
jmp 0x43a5eb
push 1
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.00436564
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x439e3c
call fcn.0040316c
jmp 0x43a5eb
mov byte [ebp - 0x2d], 1
mov eax, dword [0x43da34]
cmp byte [eax], 0
je 0x439e5b
mov eax, dword [0x43dad8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 1
jne 0x439ef9
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43da34]
mov byte [eax], 0
mov bl, 1
push 0
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x439ed2
mov eax, 0x42caf0
mov edx, 4
call fcn.0042ca78
mov ebx, eax
mov eax, dword [0x43da80]
cmp byte [eax], 0
je 0x439eb7
mov byte [ebp - 1], bl
call fcn.0040316c
jmp 0x43a5eb
push 1
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
mov eax, dword [0x43dad8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
test bl, bl
je 0x439eef
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x439ef9
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x43a321
push 0
xor ecx, ecx
xor edx, edx
mov eax, 6
call fcn.00436564
test eax, eax
je 0x439f25
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x439f39
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x439fa0
mov eax, dword [0x43dad8]
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 0x43a09a
inc esi
xor ebx, ebx
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004224dc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
call fcn.004231b8
test al, al
je 0x439f97
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 0x439f69
jmp 0x43a09a
lea eax, [ebp - 0xc]
call fcn.004035b4
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xc]
call fcn.00421f98
mov edi, eax
test edi, edi
je 0x43a090
cmp byte [edi + 0x40], 0
je 0x43a07c
cmp dword [edi + 0x3c], 0
je 0x43a07c
mov eax, dword [edi + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x43a07c
inc esi
xor ebx, ebx
mov eax, dword [edi + 0x3c]
mov edx, ebx
call fcn.004224dc
mov edx, dword [eax + 0x24]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041cd7c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x43a036
mov eax, dword [ebp - 0x20]
call fcn.004231b8
test al, al
je 0x43a074
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x54], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x55], 1
jmp 0x43a074
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x3c]
mov edx, ebx
call fcn.004224dc
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x43a9f4
call fcn.00407768
mov edx, dword [ebp - 0x34]
mov eax, 0x43aa1c
call fcn.0042c5a0
call fcn.0040316c
jmp 0x43a5eb
inc ebx
dec esi
jne 0x439ff5
cmp dword [ebp - 0x28], 0
je 0x43a090
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x24]
call fcn.0040364c
cmp dword [ebp - 0x28], 0
jne 0x439fa8
mov eax, dword [0x43dad8]
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 0x43a110
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004224dc
mov esi, eax
cmp byte [esi + 0x54], 0
je 0x43a0f9
cmp dword [esi + 0x30], 0
jne 0x43a10a
lea edx, [ebp - 0x38]
mov eax, dword [0x43dae8]
mov eax, dword [eax]
call fcn.00406f24
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
xor edx, edx
call fcn.00406dc8
mov edx, dword [ebp - 0x34]
lea eax, [esi + 0x30]
call fcn.00403608
jmp 0x43a10a
mov eax, dword [0x43dad8]
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 0x43a0b1
mov eax, dword [0x43dad8]
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 0x43a18e
inc esi
xor ebx, ebx
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004224dc
mov edi, eax
mov edx, dword [edi + 0x30]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.00422348
test eax, eax
jne 0x43a186
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, 0x43aa2c
call fcn.00407768
mov edx, dword [ebp - 0x34]
mov eax, 0x43aa1c
call fcn.0042c5a0
call fcn.0040316c
jmp 0x43a5eb
mov byte [eax + 0x3c], 1
inc ebx
dec esi
jne 0x43a129
mov eax, dword [0x43dad8]
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 0x43a1d2
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004222d0
cmp byte [eax + 0x3c], 0
jne 0x43a1cd
mov eax, dword [0x43dad8]
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 0x43a1a5
mov eax, dword [0x43dad8]
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 0x43a24e
mov ebx, 1
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004222d0
mov edi, eax
lea ecx, [ebp - 0x38]
mov eax, dword [edi + 0x20]
mov edx, 0x43aa60
call fcn.00406dc8
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406fa4
mov edx, dword [ebp - 0x34]
lea eax, [edi + 0x28]
call fcn.00403608
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004222d0
call fcn.00438890
test al, al
jne 0x43a24a
call fcn.0040316c
jmp 0x43a5eb
inc ebx
dec esi
jne 0x43a1ed
call fcn.00437fa0
test al, al
jne 0x43a270
mov edx, 0x43aa70
mov eax, 0x43aa1c
call fcn.0042c5a0
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43dad8]
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 0x43a2b3
mov ebx, 1
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004222d0
call fcn.00438da0
test al, al
jne 0x43a2af
call fcn.0040316c
jmp 0x43a5eb
inc ebx
dec esi
jne 0x43a28b
mov eax, dword [0x43dad8]
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 0x43a321
inc esi
xor ebx, ebx
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004224dc
mov edi, eax
mov edx, dword [edi + 0x30]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.00422348
mov eax, dword [eax + 0x2c]
mov edx, dword [edi + 0x24]
call fcn.0041cd7c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x43a31d
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 0x43a2cc
mov eax, dword [0x43dad8]
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 0x43a35f
mov ebx, 1
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004222d0
mov edx, eax
mov eax, dword [0x43d9f8]
mov eax, dword [eax]
call fcn.0043678c
inc ebx
dec esi
jne 0x43a33c
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x43a373
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x43a3af
push 0
xor ecx, ecx
xor edx, edx
mov eax, 8
call fcn.00436564
test eax, eax
je 0x43a39b
call fcn.0040316c
jmp 0x43a5eb
mov eax, dword [0x43d9e8]
cmp byte [eax], 0
je 0x43a3af
call fcn.0040316c
jmp 0x43a5eb
call fcn.004317b8
mov byte [ebp - 1], al
mov eax, dword [0x43da80]
cmp byte [eax], 0
jne 0x43a414
cmp byte [ebp - 1], 0
je 0x43a3e3
push 1
xor ecx, ecx
xor edx, edx
mov eax, 9
call fcn.00436564
mov eax, dword [0x43d9e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x43a414
push 0
xor ecx, ecx
mov edx, 1
mov eax, 6
call fcn.00436564
test eax, eax
sete byte [ebp - 1]
cmp byte [ebp - 1], 0
je 0x43a414
mov eax, dword [0x43d9e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x43a481
mov eax, dword [0x43da9c]
cmp byte [eax], 0
jne 0x43a481
mov eax, dword [0x43dad8]
mov eax, dword [eax]
cmp byte [eax + 0x4d], 0
je 0x43a44e
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x43a44e
mov edx, 0x43a790
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov cl, 1
call fcn.00424e58
mov edx, 0x43a790
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00424ca4
test al, al
je 0x43a481
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x16
call fcn.00436564
mov eax, dword [0x43d9e8]
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 0x43a5eb
cmp byte [ebp - 1], 0
je 0x43a49c
call fcn.0042d7c8
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x43a52e
mov edx, 0x43a790
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00424e58
mov eax, dword [0x43da80]
mov byte [eax], 0
mov eax, dword [0x43da14]
cmp byte [eax], 0
jne 0x43a52e
mov eax, dword [0x43dac0]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jle 0x43a52e
lea edx, [ebp - 0x34]
mov eax, 0x12
call fcn.0042b9a8
mov eax, dword [ebp - 0x34]
mov edx, 0x2ee
call fcn.00429ebc
xor eax, eax
push ebp
push 0x43a527
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004127e8
mov eax, dword [0x43dac0]
mov eax, dword [eax]
call fcn.0042ae78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43a52e
call fcn.00429ee8
ret
mov eax, dword [0x43da80]
mov al, byte [eax]
xor al, 1
and al, byte [ebp - 0x2d]
je 0x43a54f
push 1
xor edx, edx
mov dl, byte [ebp - 1]
xor ecx, ecx
mov eax, 5
call fcn.00436564
mov edx, 0x43a790
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00424ca4
mov byte [0x43e860], al
mov eax, dword [0x43d9f8]
mov eax, dword [eax]
call fcn.00436c10
mov eax, dword [ebp - 0x10]
call fcn.00407104
mov eax, dword [0x43da4c]
cmp dword [eax], 0
je 0x43a592
mov eax, dword [0x43da4c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x43daa0]
cmp dword [eax], 0
je 0x43a5a9
mov eax, dword [0x43daa0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FreeLibrary
call fcn.004127e8
mov eax, dword [0x43d9c4]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43dad8]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43dadc]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x43dac8]
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 0x43a622
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