Function at 0x4370d0
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 0x438368
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x43a9e8]
cmp dword [eax], 0
jne 0x437119
mov edx, dword [0x43a9e8]
xor eax, eax
call fcn.004027d4
mov eax, dword [0x43a9cc]
mov dword [eax], 0x10000
mov eax, dword [0x43a91c]
mov eax, dword [eax]
mov edx, dword [0x43a8e4]
mov dword [edx], eax
push 0x43837c
mov eax, dword [0x43a8e4]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, dword [0x43a9c8]
mov dword [edx], eax
mov eax, dword [0x43a8dc]
mov byte [eax], 1
mov byte [ebp - 0x2d], 0
call fcn.004361c0
mov edx, dword [0x43a9dc]
mov dword [edx], eax
mov eax, dword [0x43a9dc]
cmp dword [eax], 0
jne 0x43717f
mov eax, 0x438390
call fcn.004175b0
jmp 0x438338
mov eax, dword [0x43a9dc]
mov eax, dword [eax]
mov edx, dword [0x43a9b4]
mov dword [edx], eax
mov edx, dword [0x43a9f0]
mov edx, dword [edx]
mov eax, dword [0x43a964]
mov ecx, 0x4383b4
call fcn.0040387c
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x437248
push 0xa
push 0x4383c0
mov eax, dword [0x43a8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
test ebx, ebx
jne 0x4371dc
mov eax, 0x4383d0
call fcn.004175b0
jmp 0x438338
push ebx
mov eax, dword [0x43a8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_SizeofResource
mov esi, eax
push ebx
mov eax, dword [0x43a8e4]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_LoadResource
push eax
call sub.KERNEL32.DLL_LockResource
mov ebx, eax
mov eax, dword [0x43a964]
mov eax, dword [eax]
call fcn.00406acc
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x437241
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 0x437248
mov eax, dword [ebp - 0x1c]
call fcn.00406b54
ret
mov dl, 1
mov eax, dword [0x40bbe4]
call fcn.00402c4c
mov edx, dword [0x43a8c4]
mov dword [edx], eax
lea eax, [ebp - 0x10]
call fcn.004070c4
lea edx, [ebp - 0x34]
mov eax, dword [0x43a9e8]
mov eax, dword [eax]
call fcn.00406e44
mov eax, dword [ebp - 0x34]
call fcn.004070ec
mov eax, dword [0x43a998]
cmp dword [eax + 1], 4
jg 0x437290
mov eax, dword [0x43a998]
cmp byte [eax], 5
jne 0x4372a2
push 0x4383ec
call sub.KERNEL32.DLL_LoadLibraryA
mov edx, dword [0x43a9a0]
mov dword [edx], eax
mov eax, dword [0x43a9a0]
cmp dword [eax], 0
je 0x4372c6
push 0x4383f4
mov eax, dword [0x43a9a0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edx, dword [0x43a8d8]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x43832e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, 0x438410
call fcn.0040fb74
mov edx, dword [0x43a8ec]
mov byte [edx], al
lea ecx, [ebp - 0xc]
mov eax, dword [0x43a9e8]
mov eax, dword [eax]
mov edx, 0x438420
call fcn.00406db0
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov ecx, 0x438430
mov edx, dword [ebp - 0xc]
call fcn.0041b2d0
mov eax, dword [0x43a934]
cmp byte [eax], 0
call fcn.0042a070
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x4374b2
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ebx, dword [eax + 0x34]
mov ecx, ebx
mov dl, 1
mov eax, dword [0x41f960]
call fcn.0042094c
mov edx, eax
mov eax, dword [0x43a9d8]
mov eax, ebx
call fcn.0041b698
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
mov ebx, eax
lea eax, [ebx + 0x24]
mov edx, dword [0x43a9e8]
mov edx, dword [edx]
call fcn.00403608
mov byte [ebx + 0x38], 1
mov byte [ebx + 0x18], 1
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
call fcn.00436648
test al, al
jne 0x43739e
call fcn.0040316c
jmp 0x438338
call fcn.00435d64
test al, al
jne 0x4373bb
mov eax, 0x438448
call fcn.004175b0
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
call fcn.00436ad8
test al, al
jne 0x4373df
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
call fcn.0041a9b4
mov dl, 1
mov eax, dword [0x4188f0]
call fcn.00419414
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x437467
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x38]
mov ecx, 0x4384cc
call fcn.0040387c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00436a48
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
call fcn.00419580
mov eax, dword [0x43a9d8]
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 0x43746e
mov eax, dword [ebp - 0x2c]
call fcn.00402c74
ret
mov edx, 0x4385d0
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0042351c
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4385e0
call fcn.00423370
mov edx, dword [0x43a914]
mov byte [edx], al
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x4385f8
mov edx, 0x438604
call fcn.00423114
lea eax, [ebp - 0x34]
mov ecx, 0x438614
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 [0x43a94c]
mov dword [edx], eax
call sub.KERNEL32.DLL_GetLastError_1
cmp eax, 0xb7
jne 0x437546
mov eax, dword [0x43a94c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43a94c]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x43a8ec]
cmp byte [eax], 0
je 0x43769b
call fcn.00402774
cmp eax, 2
jl 0x43758c
lea edx, [ebp - 0x34]
mov eax, 2
call fcn.004027d4
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
call fcn.00403940
je 0x43758c
mov eax, 0x438624
call fcn.004175b0
call fcn.0040316c
jmp 0x438338
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x438648
call fcn.00423114
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
call fcn.00422da0
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43a954]
call fcn.00403608
lea eax, [ebp - 0x14]
push eax
mov eax, 0x438658
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, 0x438698
call fcn.00407750
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x4386ac
mov eax, dword [ebp - 0x14]
call fcn.0041250c
cmp dword [ebp - 0xc], 0
jne 0x437646
lea eax, [ebp - 0x14]
push eax
mov eax, 0x438658
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, 0x4386c4
call fcn.00407750
lea eax, [ebp - 0xc]
push eax
xor ecx, ecx
mov edx, 0x4386ac
mov eax, dword [ebp - 0x14]
call fcn.0041250c
cmp dword [ebp - 0xc], 0
je 0x437658
mov eax, dword [ebp - 0xc]
call fcn.00406bc4
test al, al
jne 0x43766c
mov eax, 0x438624
call fcn.004175b0
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov ecx, 0x438430
mov edx, dword [ebp - 0xc]
call fcn.0041b2d0
call fcn.0042ae50
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x4386d8
mov edx, 0x4386e4
call fcn.0042338c
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x4386f8
mov edx, 0x438704
call fcn.00423114
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0xc]
call fcn.004066e8
mov edx, 0x438710
mov eax, dword [ebp - 0xc]
call fcn.0040edf4
mov esi, eax
test esi, esi
jle 0x437716
mov ebx, 1
lea eax, [ebp - 0x38]
push eax
mov ecx, 0x438710
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0040ef3c
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406884
lea eax, [ebp - 0x34]
mov edx, 0x438738
call fcn.00403838
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x4376d8
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x438744
call fcn.00423370
test al, al
jne 0x437739
push 1
push 0x4362e8
call sub.KERNEL32.DLL_EnumSystemLocalesA
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x437825
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x38]
mov eax, dword [0x43a8c4]
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.0040fcd4
cmp dword [ebp - 0x34], 0
jne 0x43781d
lea ecx, [ebp - 0x34]
mov eax, dword [0x43a8c4]
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.0040fcb4
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 [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
push dword [eax + 0x20]
push 0x438768
push 0x438774
push dword [ebp - 0xc]
push 0x438780
lea eax, [ebp - 0x34]
mov edx, 5
call fcn.004038f0
mov eax, dword [ebp - 0x34]
mov ecx, 0x438790
mov edx, 0x4387a8
call fcn.00411bcc
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x3c], 0xb
lea edx, [ebp - 0x48]
mov ecx, 1
mov eax, 0x4387b8
call fcn.00407750
mov ecx, dword [ebp - 0x34]
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0x20]
inc ebx
dec esi
jne 0x437753
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x437846
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, 0x4387c8
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4387e4
call fcn.00423114
cmp dword [ebp - 0x34], 0
jne 0x4378df
xor ebx, ebx
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x4387f4
call fcn.00423370
test al, al
je 0x4378c6
lea eax, [ebp - 0x34]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x4386f8
mov edx, 0x438810
call fcn.00423114
mov edx, dword [ebp - 0x34]
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
call fcn.0040d1cc
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4378bf
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, 0x4386f8
call fcn.0040d1cc
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4378c6
xor ebx, ebx
lea ecx, [ebp - 0x34]
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
mov edx, ebx
call fcn.0040cf34
mov eax, dword [ebp - 0x34]
call fcn.0042a4cc
mov eax, dword [0x43a94c]
cmp dword [eax], 0
jne 0x43793c
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x438824
call fcn.00423114
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.00429f58
mov eax, dword [ebp - 0x54]
xor ecx, ecx
pop edx
call fcn.00407750
mov eax, dword [ebp - 0x34]
call fcn.00417680
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
mov edx, eax
mov eax, dword [0x43a8f8]
mov eax, dword [eax]
call fcn.00434550
test al, al
jne 0x437969
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x43797d
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a8ec]
cmp byte [eax], 0
jne 0x437a89
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x437a89
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov edi, dword [eax + 0x40]
mov eax, edi
call fcn.0041b658
test eax, eax
jle 0x437a34
lea eax, [ebp - 0xc]
mov edx, dword [0x43a9a4]
mov edx, dword [edx]
mov edx, dword [edx + 0x1c]
call fcn.0040364c
cmp dword [ebp - 0xc], 0
jne 0x437a20
xor eax, eax
mov dword [ebp - 8], eax
mov eax, edi
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437a0b
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, edi
call fcn.004210a4
cmp byte [eax + 0x30], 0
je 0x437a07
mov edx, ebx
mov eax, edi
call fcn.004210a4
call fcn.00421894
test al, al
je 0x437a07
mov dword [ebp - 8], ebx
jmp 0x437a0b
inc ebx
dec esi
jne 0x4379e1
mov edx, dword [ebp - 8]
mov eax, edi
call fcn.004210a4
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0xc]
call fcn.0040364c
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
call fcn.004212fc
jmp 0x437aeb
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437aeb
inc esi
xor ebx, ebx
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004205bc
call fcn.00421894
test al, al
je 0x437a83
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.004205bc
mov dl, 1
call fcn.00420040
inc ebx
dec esi
jne 0x437a51
jmp 0x437aeb
lea eax, [ebp - 0xc]
call fcn.004035b4
mov eax, dword [0x43a934]
cmp byte [eax], 0
je 0x437aae
lea eax, [ebp - 0xc]
mov edx, dword [0x43a9d8]
mov edx, dword [edx]
mov edx, dword [edx + 0x2c]
call fcn.0040364c
mov eax, dword [0x43a8ec]
cmp byte [eax], 0
je 0x437acb
lea eax, [ebp - 0xc]
mov edx, dword [0x43a9a4]
mov edx, dword [edx]
mov edx, dword [edx + 0x1c]
call fcn.0040364c
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0xc]
call fcn.0041bb28
mov edx, dword [0x43a9d8]
mov edx, dword [edx]
mov edx, dword [edx + 0x40]
mov dword [edx + 0x1c], eax
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x437b34
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437b34
inc esi
xor ebx, ebx
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, ebx
call fcn.004205bc
mov edx, dword [eax + 0x20]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.0042149c
inc ebx
dec esi
jne 0x437b0e
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x437b51
call fcn.00436c30
test al, al
jne 0x437b51
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x437b65
call fcn.0040316c
jmp 0x438338
push 1
xor ecx, ecx
xor edx, edx
mov eax, 4
call fcn.00434328
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x437b89
call fcn.0040316c
jmp 0x438338
mov byte [ebp - 0x2d], 1
mov eax, dword [0x43a934]
cmp byte [eax], 0
je 0x437ba8
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
cmp byte [eax + 0x48], 1
jne 0x437c46
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov byte [eax + 0x48], 0
mov eax, dword [0x43a934]
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.00434328
test eax, eax
jne 0x437c1f
mov eax, 0x42b098
mov edx, 4
call fcn.0042b020
mov ebx, eax
mov eax, dword [0x43a980]
cmp byte [eax], 0
je 0x437c04
mov byte [ebp - 1], bl
call fcn.0040316c
jmp 0x438338
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
add eax, 0x28
call fcn.004035b4
test bl, bl
je 0x437c3c
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x437c46
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x43806e
push 0
xor ecx, ecx
xor edx, edx
mov eax, 6
call fcn.00434328
test eax, eax
je 0x437c72
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x437c86
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
call fcn.0041b658
test eax, eax
jne 0x437ced
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437de7
inc esi
xor ebx, ebx
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00420bc4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
call fcn.00421894
test al, al
je 0x437ce4
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x50], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x51], 1
inc ebx
dec esi
jne 0x437cb6
jmp 0x437de7
lea eax, [ebp - 0xc]
call fcn.004035b4
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00420680
mov edi, eax
test edi, edi
je 0x437ddd
cmp byte [edi + 0x3c], 0
je 0x437dc9
cmp dword [edi + 0x38], 0
je 0x437dc9
mov eax, dword [edi + 0x38]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437dc9
inc esi
xor ebx, ebx
mov eax, dword [edi + 0x38]
mov edx, ebx
call fcn.00420bc4
mov edx, dword [eax + 0x20]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041bb28
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x437d83
mov eax, dword [ebp - 0x20]
call fcn.00421894
test al, al
je 0x437dc1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x50], 1
mov eax, dword [ebp - 0x20]
mov byte [eax + 0x51], 1
jmp 0x437dc1
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x38]
mov edx, ebx
call fcn.00420bc4
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x438834
call fcn.00407750
mov edx, dword [ebp - 0x34]
mov eax, 0x43885c
call fcn.0042ab48
call fcn.0040316c
jmp 0x438338
inc ebx
dec esi
jne 0x437d42
cmp dword [ebp - 0x28], 0
je 0x437ddd
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x20]
call fcn.0040364c
cmp dword [ebp - 0x28], 0
jne 0x437cf5
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041b658
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x437e5d
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00420bc4
mov esi, eax
cmp byte [esi + 0x50], 0
je 0x437e46
cmp dword [esi + 0x2c], 0
jne 0x437e57
lea edx, [ebp - 0x38]
mov eax, dword [0x43a9e8]
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 + 0x2c]
call fcn.00403608
jmp 0x437e57
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.0041b6d8
dec ebx
cmp ebx, 0xffffffff
jne 0x437dfe
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x437edb
inc esi
xor ebx, ebx
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00420bc4
mov edi, eax
mov edx, dword [edi + 0x2c]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.00420a30
test eax, eax
jne 0x437ed3
lea eax, [ebp - 0x34]
push eax
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
lea edx, [ebp - 0x50]
xor ecx, ecx
mov eax, 0x43886c
call fcn.00407750
mov edx, dword [ebp - 0x34]
mov eax, 0x43885c
call fcn.0042ab48
call fcn.0040316c
jmp 0x438338
mov byte [eax + 0x38], 1
inc ebx
dec esi
jne 0x437e76
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041b658
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x437f1f
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.004209b8
cmp byte [eax + 0x38], 0
jne 0x437f1a
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.0041b6d8
dec ebx
test ebx, ebx
jne 0x437ef2
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jle 0x437f9b
mov ebx, 1
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.004209b8
mov edi, eax
lea ecx, [ebp - 0x38]
mov eax, dword [edi + 0x1c]
mov edx, 0x4388a0
call fcn.00406db0
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x34]
call fcn.00406f8c
mov edx, dword [ebp - 0x34]
lea eax, [edi + 0x24]
call fcn.00403608
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.004209b8
call fcn.00436648
test al, al
jne 0x437f97
call fcn.0040316c
jmp 0x438338
inc ebx
dec esi
jne 0x437f3a
call fcn.00435d64
test al, al
jne 0x437fbd
mov edx, 0x4388b0
mov eax, 0x43885c
call fcn.0042ab48
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jle 0x438000
mov ebx, 1
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.004209b8
call fcn.00436ad8
test al, al
jne 0x437ffc
call fcn.0040316c
jmp 0x438338
inc ebx
dec esi
jne 0x437fd8
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jl 0x43806e
inc esi
xor ebx, ebx
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.00420bc4
mov edi, eax
mov edx, dword [edi + 0x2c]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.00420a30
mov eax, dword [eax + 0x28]
mov edx, dword [edi + 0x20]
call fcn.0041bb28
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x43806a
mov eax, dword [ebp - 0x20]
add eax, 0x2c
mov edx, dword [edi + 0x2c]
call fcn.00403608
mov edx, dword [ebp - 0x20]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
inc ebx
dec esi
jne 0x438019
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041b658
mov esi, eax
dec esi
test esi, esi
jle 0x4380ac
mov ebx, 1
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
mov edx, ebx
call fcn.004209b8
mov edx, eax
mov eax, dword [0x43a8f8]
mov eax, dword [eax]
call fcn.00434550
inc ebx
dec esi
jne 0x438089
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x4380c0
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x4380fc
push 0
xor ecx, ecx
xor edx, edx
mov eax, 8
call fcn.00434328
test eax, eax
je 0x4380e8
call fcn.0040316c
jmp 0x438338
mov eax, dword [0x43a8e8]
cmp byte [eax], 0
je 0x4380fc
call fcn.0040316c
jmp 0x438338
call fcn.0042fd58
mov byte [ebp - 1], al
mov eax, dword [0x43a980]
cmp byte [eax], 0
jne 0x438161
cmp byte [ebp - 1], 0
je 0x438130
push 1
xor ecx, ecx
xor edx, edx
mov eax, 9
call fcn.00434328
mov eax, dword [0x43a8e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x438161
push 0
xor ecx, ecx
mov edx, 1
mov eax, 6
call fcn.00434328
test eax, eax
sete byte [ebp - 1]
cmp byte [ebp - 1], 0
je 0x438161
mov eax, dword [0x43a8e8]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x4381ce
mov eax, dword [0x43a99c]
cmp byte [eax], 0
jne 0x4381ce
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
cmp byte [eax + 0x49], 0
je 0x43819b
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x43819b
mov edx, 0x4385d0
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.0042351c
mov edx, 0x4385d0
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423370
test al, al
je 0x4381ce
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x16
call fcn.00434328
mov eax, dword [0x43a8e8]
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 0x438338
cmp byte [ebp - 1], 0
je 0x4381e9
call fcn.0042bd70
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x43827b
mov edx, 0x4385d0
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0042351c
mov eax, dword [0x43a980]
mov byte [eax], 0
mov eax, dword [0x43a914]
cmp byte [eax], 0
jne 0x43827b
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
call fcn.0041b658
test eax, eax
jle 0x43827b
lea edx, [ebp - 0x34]
mov eax, 0x12
call fcn.00429f58
mov eax, dword [ebp - 0x34]
mov edx, 0x2ee
call fcn.004284e0
xor eax, eax
push ebp
push 0x438274
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00411a84
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
call fcn.00429428
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43827b
call fcn.0042850c
ret
mov eax, dword [0x43a980]
mov al, byte [eax]
xor al, 1
and al, byte [ebp - 0x2d]
je 0x43829c
push 1
xor edx, edx
mov dl, byte [ebp - 1]
xor ecx, ecx
mov eax, 5
call fcn.00434328
mov edx, 0x4385d0
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00423370
mov byte [0x43b860], al
mov eax, dword [0x43a8f8]
mov eax, dword [eax]
call fcn.004349d4
mov eax, dword [ebp - 0x10]
call fcn.004070ec
mov eax, dword [0x43a94c]
cmp dword [eax], 0
je 0x4382df
mov eax, dword [0x43a94c]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
mov eax, dword [0x43a9a0]
cmp dword [eax], 0
je 0x4382f6
mov eax, dword [0x43a9a0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FreeLibrary_1
call fcn.00411a84
mov eax, dword [0x43a8c4]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
call fcn.00402c74
mov eax, dword [0x43a9dc]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x43a9c8]
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 0x43836f
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