Function at 0x4454b0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x446def
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, dword [0x449c54]
cmp dword [eax], 0
jne 0x4454f9
mov edx, dword [0x449c54]
xor eax, eax
call fcn.004027bc
mov eax, dword [0x449b60]
xor ecx, ecx
mov edx, 0x58
call fcn.0040298c
mov eax, dword [0x449b60]
mov dword [eax], 0x20000
mov eax, dword [0x449b60]
mov dword [eax + 4], 0x40700
mov eax, dword [0x449b60]
call fcn.00438cf4
mov eax, dword [0x449c34]
mov dword [eax], 0x10000
mov eax, dword [0x449b74]
mov eax, dword [eax]
mov edx, dword [0x449b38]
mov dword [edx], eax
push 0x446e00
mov eax, dword [0x449b38]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, dword [0x449c30]
mov dword [edx], eax
mov eax, dword [0x449b28]
mov byte [eax], 1
mov byte [ebp - 0x31], 0
mov byte [ebp - 0x32], 0
mov eax, dword [0x449bd4]
mov byte [eax], 1
mov eax, dword [0x449b00]
mov byte [eax], 1
call fcn.00443f04
mov edx, dword [0x449c48]
mov dword [edx], eax
mov eax, dword [0x449c48]
cmp dword [eax], 0
jne 0x4455a5
mov eax, 0x446e14
call fcn.00419050
jmp 0x446dbf
mov eax, dword [0x449c48]
mov eax, dword [eax]
mov edx, dword [0x449c1c]
mov dword [edx], eax
mov edx, dword [0x449c68]
mov edx, dword [edx]
mov eax, dword [0x449bbc]
mov ecx, 0x446e38
call fcn.00403880
mov edx, dword [0x449c68]
mov edx, dword [edx]
mov eax, dword [0x449b5c]
mov ecx, 0x446e4c
call fcn.00403880
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x44565d
mov eax, dword [0x449bbc]
mov eax, dword [eax]
push eax
push 0
mov edx, 0x446e58
mov eax, dword [0x449b38]
mov eax, dword [eax]
mov ecx, 0xa
call fcn.004440a0
test al, al
jne 0x44561f
mov eax, 0x446e68
call fcn.00419050
jmp 0x446dbf
mov eax, dword [0x449bfc]
cmp byte [eax + 0x15], 1
jne 0x44565d
mov eax, dword [0x449b5c]
mov eax, dword [eax]
push eax
push 0
mov edx, 0x446e84
mov eax, dword [0x449b38]
mov eax, dword [eax]
mov ecx, 0xa
call fcn.004440a0
test al, al
jne 0x44565d
mov eax, 0x446e94
call fcn.00419050
jmp 0x446dbf
mov dl, 1
mov eax, dword [0x40c650]
call fcn.00402c34
mov edx, dword [0x449b0c]
mov dword [edx], eax
lea eax, [ebp - 0x14]
call fcn.00407370
lea edx, [ebp - 0x3c]
mov eax, dword [0x449c54]
mov eax, dword [eax]
call fcn.004070f0
mov eax, dword [ebp - 0x3c]
call fcn.00407398
mov eax, dword [0x449bfc]
cmp dword [eax + 1], 4
jg 0x4456a5
mov eax, dword [0x449bfc]
cmp byte [eax], 5
jne 0x4456b7
push 0x446eb0
call sub.KERNEL32.DLL_LoadLibraryA
mov edx, dword [0x449c04]
mov dword [edx], eax
mov eax, dword [0x449c04]
cmp dword [eax], 0
je 0x4456db
push 0x446eb8
mov eax, dword [0x449c04]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edx, dword [0x449b24]
mov dword [edx], eax
xor edx, edx
push ebp
push 0x446db5
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x445897
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov ebx, dword [eax + 0x38]
mov ecx, ebx
mov dl, 1
mov eax, dword [0x421a20]
call fcn.00422940
mov edx, eax
mov eax, dword [0x449c40]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
mov ebx, eax
lea eax, [ebx + 0x28]
mov edx, dword [0x449c54]
mov edx, dword [edx]
call fcn.0040360c
mov byte [ebx + 0x3c], 1
mov byte [ebx + 0x1c], 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
call fcn.00444750
test al, al
jne 0x44576c
call fcn.00403170
jmp 0x446dbf
call fcn.00443a40
test al, al
jne 0x445789
mov eax, 0x446ed4
call fcn.00419050
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
call fcn.00444c78
test al, al
jne 0x4457ad
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x3c]
mov ecx, 0x446f6c
call fcn.00403880
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov ecx, 0x446f6c
call fcn.0041d2ac
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
call fcn.0041c74c
mov dl, 1
mov eax, dword [0x41a5dc]
call fcn.0041b170
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x44586d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x40]
mov ecx, 0x446f80
call fcn.00403880
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.00444be8
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
call fcn.0041b2dc
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x50]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x445874
mov eax, dword [ebp - 0x30]
call fcn.00402c5c
ret
call fcn.0043a764
mov eax, dword [0x449af4]
cmp dword [eax], 0
je 0x4458b0
call fcn.00403170
jmp 0x446dbf
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov ecx, 0x446fa0
mov edx, 0x446fac
call fcn.004258ac
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x446fbc
call fcn.00425940
mov edx, dword [0x449c5c]
mov byte [edx], al
mov eax, dword [0x449c5c]
cmp byte [eax], 0
je 0x4458f9
call fcn.0043d8e4
call fcn.0043a764
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425af4
call fcn.0042ac80
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x446fd0
call fcn.004258d0
test eax, eax
jne 0x445941
lea ecx, [ebp - 0x10]
mov eax, dword [0x449c54]
mov eax, dword [eax]
mov edx, 0x446fe4
call fcn.0040705c
jmp 0x4459c5
lea eax, [ebp - 0x18]
push eax
mov eax, 0x446ff4
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea edx, [ebp - 0x50]
mov ecx, 1
mov eax, 0x447034
call fcn.004079a8
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 0x447048
mov eax, dword [ebp - 0x18]
call fcn.004136c8
cmp dword [ebp - 0x10], 0
jne 0x4459c5
lea eax, [ebp - 0x18]
push eax
mov eax, 0x446ff4
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea edx, [ebp - 0x50]
mov ecx, 1
mov eax, 0x447060
call fcn.004079a8
lea eax, [ebp - 0x10]
push eax
xor ecx, ecx
mov edx, 0x447048
mov eax, dword [ebp - 0x18]
call fcn.004136c8
mov eax, dword [ebp - 0x10]
call fcn.00406ebc
mov edx, dword [0x449bc0]
mov byte [edx], al
mov eax, dword [0x449bc0]
cmp byte [eax], 0
je 0x445a07
mov eax, dword [0x449c08]
mov eax, dword [eax]
mov ecx, 0x447074
mov edx, dword [ebp - 0x10]
call fcn.0041d2ac
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x445a02
call fcn.0043bdb4
call fcn.0043a764
lea eax, [ebp - 0x3c]
mov ecx, 0x44708c
mov edx, dword [ebp - 0x1c]
call fcn.00403880
mov eax, dword [ebp - 0x3c]
call fcn.004039f8
push eax
push 0
push 0
call sub.KERNEL32.DLL_CreateMutexA
mov edx, dword [0x449ba0]
mov dword [edx], eax
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0xb7
jne 0x445a53
mov eax, dword [0x449ba0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x449ba0]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x445ae2
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, ebx
call fcn.00424644
cmp dword [eax + 0x28], 0
jne 0x445ade
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, ebx
call fcn.00424644
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov edx, ebx
call fcn.00424644
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea edx, [ebp - 0x50]
mov ecx, 1
mov eax, 0x44709c
call fcn.004079a8
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x449b0c]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x445a6c
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4470ac
call fcn.00425940
test al, al
jne 0x445b05
push 1
push 0x4443f0
call sub.KERNEL32.DLL_EnumSystemLocalesA
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4470d0
call fcn.004258ac
cmp dword [ebp - 0x10], 0
jne 0x445b96
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov cl, 1
mov edx, 0x4470e0
call fcn.00425940
test al, al
je 0x445b85
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov ecx, 0x4470fc
mov edx, 0x447108
call fcn.004258ac
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x449b0c]
mov eax, dword [eax]
call fcn.0040ddb4
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x445b7e
mov eax, dword [0x449b0c]
mov eax, dword [eax]
mov edx, 0x4470fc
call fcn.0040ddb4
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x445b85
xor ebx, ebx
lea ecx, [ebp - 0x10]
mov eax, dword [0x449b0c]
mov eax, dword [eax]
mov edx, ebx
call fcn.0040db1c
mov eax, dword [ebp - 0x10]
call fcn.0043b3c4
mov eax, dword [0x449ba0]
cmp dword [eax], 0
jne 0x445bfb
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x44711c
call fcn.004258ac
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0xb
lea eax, [ebp - 0x58]
push eax
lea edx, [ebp - 0x5c]
mov eax, 0x15
call fcn.0043a434
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
pop edx
call fcn.004079a8
mov eax, dword [ebp - 0x3c]
call fcn.00419120
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
mov edx, eax
mov eax, dword [0x449b4c]
mov eax, dword [eax]
call fcn.004428e8
test al, al
jne 0x445c28
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x445c3c
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x445d3d
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov edi, dword [eax + 0x44]
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jle 0x445ce5
lea eax, [ebp - 0x10]
mov edx, dword [0x449c08]
mov edx, dword [edx]
mov edx, dword [edx + 0x20]
call fcn.00403650
cmp dword [ebp - 0x10], 0
jne 0x445cd1
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 0x445cbc
inc esi
xor ebx, ebx
mov edx, ebx
mov eax, edi
call fcn.004230a0
cmp byte [eax + 0x34], 0
je 0x445cb8
mov edx, ebx
mov eax, edi
call fcn.004230a0
call fcn.00423924
test al, al
je 0x445cb8
mov dword [ebp - 8], ebx
jmp 0x445cbc
inc ebx
dec esi
jne 0x445c92
mov edx, dword [ebp - 8]
mov eax, edi
call fcn.004230a0
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x10]
call fcn.00403650
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
call fcn.004232fc
jmp 0x445dc3
mov eax, dword [0x449c40]
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 0x445dc3
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.0042255c
call fcn.00423924
test al, al
je 0x445d34
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, ebx
call fcn.0042255c
mov dl, 1
call fcn.00421f80
inc ebx
dec esi
jne 0x445d02
jmp 0x445dc3
lea eax, [ebp - 0x10]
mov edx, dword [0x449c40]
mov edx, dword [edx]
mov edx, dword [edx + 0x30]
call fcn.00403650
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0x10]
call fcn.0041dda0
mov edx, dword [0x449c40]
mov edx, dword [edx]
mov edx, dword [edx + 0x44]
mov dword [edx + 0x20], eax
lea eax, [ebp - 0x10]
call fcn.004035b8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x10]
call fcn.00422620
mov ebx, eax
test ebx, ebx
je 0x445da9
mov cl, byte [ebx + 0x42]
mov edx, dword [ebx + 0x24]
mov eax, dword [0x449c40]
mov eax, dword [eax]
call fcn.004234a4
cmp dword [ebp - 0x2c], 0
je 0x445dbd
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x24]
call fcn.00403650
cmp dword [ebp - 0x2c], 0
jne 0x445d78
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x445e3e
mov eax, dword [0x449bc0]
cmp byte [eax], 0
je 0x445e3e
lea eax, [ebp - 0x10]
call fcn.004035b8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x10]
call fcn.00422620
mov ebx, eax
test ebx, ebx
je 0x445e24
mov edx, dword [ebx + 0x24]
mov eax, dword [0x449c08]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0041dda0
test eax, eax
setne cl
mov edx, dword [ebx + 0x24]
mov eax, dword [0x449c40]
mov eax, dword [eax]
call fcn.004234a4
cmp dword [ebp - 0x2c], 0
je 0x445e38
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x24]
call fcn.00403650
cmp dword [ebp - 0x2c], 0
jne 0x445ddf
mov eax, dword [0x449b68]
mov eax, dword [eax]
call fcn.0044261c
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x445ff1
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
test eax, eax
je 0x445e96
push 0x4470fc
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x449ba8]
mov eax, dword [eax]
mov ecx, 0x4470d0
mov edx, 0x44712c
call fcn.00412cd0
mov eax, dword [ebp - 0x3c]
call fcn.0043b3c4
push 1
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x1a
call fcn.00438d90
test eax, eax
je 0x445eb6
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x445eca
call fcn.00403170
jmp 0x446dbf
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
cmp eax, 2
jne 0x445efa
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x447144
call fcn.004258d0
cmp eax, 2
je 0x445efe
xor eax, eax
jmp 0x445f00
mov al, 1
mov edx, dword [0x449b40]
mov byte [edx], al
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
dec eax
mov eax, dword [0x449b34]
sete byte [eax]
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
cmp eax, 2
jne 0x445f52
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x447144
call fcn.004258d0
dec eax
je 0x445f56
xor eax, eax
jmp 0x445f58
mov al, 1
mov edx, dword [0x449c10]
mov byte [edx], al
mov eax, dword [0x449b40]
cmp byte [eax], 0
je 0x445f75
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov byte [eax + 0x55], 4
mov eax, dword [0x449b34]
cmp byte [eax], 0
je 0x445f8a
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov byte [eax + 0x55], 3
mov eax, dword [0x449c10]
cmp byte [eax], 0
je 0x445f9f
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov byte [eax + 0x55], 2
mov eax, dword [0x449bd4]
cmp byte [eax], 0
jne 0x445fb3
mov eax, dword [0x449c10]
cmp byte [eax], 0
jne 0x445fc7
mov eax, dword [0x449b00]
cmp byte [eax], 0
jne 0x445fd9
mov eax, dword [0x449b40]
cmp byte [eax], 0
je 0x445fd9
mov eax, 0x44715c
call fcn.004191f0
mov eax, dword [0x449b3c]
mov byte [eax], 1
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x4460c9
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
mov eax, dword [eax]
cmp byte [eax + 0x55], 4
jne 0x44603a
lea edx, [ebp - 0x3c]
mov eax, 2
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x446fd0
call fcn.0043a500
lea edx, [ebp - 0x3c]
mov eax, 2
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x447144
call fcn.0043a500
mov eax, dword [0x449b40]
mov byte [eax], 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
cmp byte [eax + 0x55], 3
jne 0x446080
lea edx, [ebp - 0x3c]
mov eax, 1
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x446fd0
call fcn.0043a500
lea edx, [ebp - 0x3c]
xor eax, eax
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x447144
call fcn.0043a500
mov eax, dword [0x449b34]
mov byte [eax], 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
cmp byte [eax + 0x55], 2
jne 0x4460c9
lea edx, [ebp - 0x3c]
mov eax, 2
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x446fd0
call fcn.0043a500
lea edx, [ebp - 0x3c]
mov eax, 1
call fcn.00406c88
mov edx, dword [ebp - 0x3c]
mov eax, 0x447144
call fcn.0043a500
mov eax, dword [0x449c10]
mov byte [eax], 1
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x44617f
mov eax, dword [0x449b40]
cmp byte [eax], 0
jne 0x4460ef
mov eax, dword [0x449c10]
cmp byte [eax], 0
je 0x44617f
call fcn.0043a45c
test al, al
je 0x44617f
lea eax, [ebp - 0x3c]
push eax
xor ecx, ecx
mov edx, 0x4471b0
mov eax, dword [ebp - 0x18]
call fcn.004136c8
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x449c54]
call fcn.0040360c
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
add eax, 0x20
push eax
lea edx, [ebp - 0x40]
mov eax, dword [0x449c54]
mov eax, dword [eax]
call fcn.004071b8
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
xor edx, edx
call fcn.0040705c
mov edx, dword [ebp - 0x3c]
pop eax
call fcn.0040360c
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004229ac
add eax, 0x28
mov edx, dword [0x449c54]
mov edx, dword [edx]
call fcn.0040360c
mov eax, dword [0x449b14]
mov byte [eax], 1
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x4461b3
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
test eax, eax
jne 0x4461b3
call fcn.00444dd4
test al, al
jne 0x4461b3
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x4461dd
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x1b
call fcn.00438d90
test eax, eax
je 0x4461dd
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x4461f1
call fcn.00403170
jmp 0x446dbf
push 1
push 0
xor ecx, ecx
xor edx, edx
mov eax, 3
call fcn.00438d90
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x446217
call fcn.00403170
jmp 0x446dbf
mov byte [ebp - 0x31], 1
mov eax, dword [0x449b88]
cmp byte [eax], 0
je 0x446236
mov eax, dword [0x449c40]
mov eax, dword [eax]
cmp byte [eax + 0x54], 1
jne 0x446304
mov eax, dword [0x449c10]
cmp byte [eax], 0
jne 0x446304
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov byte [eax + 0x54], 0
mov eax, dword [0x449b88]
mov byte [eax], 0
mov bl, 1
push 0
push 1
mov dword [ebp - 0x58], 6
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
mov eax, dword [0x449b60]
xor ecx, ecx
call fcn.00425f90
mov edx, eax
xor ecx, ecx
mov eax, 9
call fcn.00438d90
test eax, eax
jne 0x4462dd
mov eax, 0x43c030
mov edx, 4
call fcn.0043bfb8
mov ebx, eax
mov eax, dword [0x449be4]
cmp byte [eax], 0
je 0x4462b1
mov byte [ebp - 1], bl
call fcn.00403170
jmp 0x446dbf
push 1
push 1
mov dword [ebp - 0x58], 6
mov byte [ebp - 0x54], 0
lea edx, [ebp - 0x58]
mov eax, dword [0x449b60]
xor ecx, ecx
call fcn.00425f90
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00438d90
mov eax, dword [0x449c40]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b8
test bl, bl
je 0x4462fa
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x446304
call fcn.00403170
jmp 0x446dbf
call fcn.0042ad28
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x4467fa
push 0
push 1
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x54], 1
lea edx, [ebp - 0x58]
mov eax, dword [0x449b60]
xor ecx, ecx
call fcn.00425f90
mov edx, eax
xor ecx, ecx
mov eax, 5
call fcn.00438d90
test eax, eax
je 0x44634e
call fcn.00403170
jmp 0x446dbf
call fcn.0042ac80
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x446367
call fcn.00403170
jmp 0x446dbf
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
test eax, eax
jne 0x4463af
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4470d0
call fcn.004258ac
mov eax, dword [ebp - 0x3c]
push eax
mov edx, 0x44712c
mov eax, dword [0x449ba8]
mov eax, dword [eax]
mov ecx, 0x4470d0
call fcn.00413164
mov eax, dword [0x449b40]
cmp byte [eax], 0
je 0x44640d
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4471cc
call fcn.004258d0
test eax, eax
jne 0x4463e6
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov ecx, 2
mov edx, 0x4471cc
call fcn.00425a9c
mov eax, dword [0x449c08]
mov eax, dword [eax]
mov edx, dword [eax + 0x20]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
call fcn.0041dda0
mov edx, dword [0x449c40]
mov edx, dword [edx]
mov edx, dword [edx + 0x44]
mov dword [edx + 0x20], eax
mov eax, dword [0x449c10]
cmp byte [eax], 0
jne 0x446421
mov eax, dword [0x449b34]
cmp byte [eax], 0
je 0x44642d
mov eax, dword [0x449c60]
mov eax, dword [eax]
call fcn.0042ebb8
mov eax, dword [0x449c10]
cmp byte [eax], 0
je 0x446443
mov eax, dword [0x449b90]
mov eax, dword [eax]
call fcn.0043e004
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x54]
test eax, eax
jne 0x4464a2
mov eax, dword [0x449c40]
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 0x446558
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov edi, eax
mov eax, edi
call fcn.00423924
test al, al
je 0x446499
mov byte [edi + 0x50], 1
mov byte [edi + 0x51], 1
inc ebx
dec esi
jne 0x446473
jmp 0x446558
lea eax, [ebp - 0x10]
call fcn.004035b8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x10]
call fcn.00422620
mov ebx, eax
test ebx, ebx
je 0x44654e
mov eax, ebx
call fcn.00422318
cmp al, 1
jne 0x44653a
cmp dword [ebx + 0x3c], 0
je 0x44653a
mov eax, dword [0x449c10]
cmp byte [eax], 0
je 0x446525
mov edx, dword [ebx + 0x24]
mov eax, dword [0x449b90]
mov eax, dword [eax]
call fcn.0043deb8
test eax, eax
je 0x44653a
mov edx, dword [ebx + 0x24]
mov eax, dword [0x449b90]
mov eax, dword [eax]
call fcn.0043deb8
cmp byte [eax + 0x1c], 3
je 0x44653a
mov eax, ebx
call fcn.004453a0
test al, al
jne 0x44653a
call fcn.00403170
jmp 0x446dbf
mov eax, ebx
call fcn.004453a0
test al, al
jne 0x44653a
call fcn.00403170
jmp 0x446dbf
cmp dword [ebp - 0x2c], 0
je 0x44654e
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x24]
call fcn.00403650
cmp dword [ebp - 0x2c], 0
jne 0x4464aa
mov eax, dword [0x449c40]
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 0x4465ce
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov esi, eax
cmp byte [esi + 0x50], 0
je 0x4465b7
cmp dword [esi + 0x30], 0
jne 0x4465c8
lea edx, [ebp - 0x40]
mov eax, dword [0x449c54]
mov eax, dword [eax]
call fcn.004071b8
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x3c]
xor edx, edx
call fcn.0040705c
mov edx, dword [ebp - 0x3c]
lea eax, [esi + 0x30]
call fcn.0040360c
jmp 0x4465c8
mov eax, dword [0x449c40]
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 0x44656f
mov eax, dword [0x449b34]
cmp byte [eax], 0
jne 0x446788
mov eax, dword [0x449c40]
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 0x44665a
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov edi, eax
mov edx, dword [edi + 0x30]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.00422a24
test eax, eax
jne 0x446652
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x54], 0xb
lea edx, [ebp - 0x58]
xor ecx, ecx
mov eax, 0x4471e0
call fcn.004079a8
mov edx, dword [ebp - 0x3c]
mov eax, 0x447214
call fcn.0043bab4
call fcn.00403170
jmp 0x446dbf
mov byte [eax + 0x3c], 1
inc ebx
dec esi
jne 0x4465f5
mov eax, dword [0x449c40]
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 0x44669e
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004229ac
cmp byte [eax + 0x3c], 0
jne 0x446699
mov eax, dword [0x449c40]
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 0x446671
mov eax, dword [0x449c40]
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 0x446723
mov ebx, 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004229ac
mov edi, eax
lea ecx, [ebp - 0x3c]
mov eax, dword [edi + 0x20]
mov edx, 0x447224
call fcn.0040705c
mov eax, dword [ebp - 0x3c]
push eax
lea edx, [ebp - 0x40]
mov eax, dword [0x449c54]
mov eax, dword [eax]
call fcn.004070f0
mov edx, dword [ebp - 0x40]
lea eax, [edi + 0x28]
pop ecx
call fcn.00403880
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004229ac
call fcn.00444750
test al, al
jne 0x44671f
call fcn.00403170
jmp 0x446dbf
inc ebx
dec esi
jne 0x4466b9
call fcn.00443a40
test al, al
jne 0x446745
mov edx, 0x447234
mov eax, 0x447214
call fcn.0043bab4
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
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 0x446788
mov ebx, 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004229ac
call fcn.00444c78
test al, al
jne 0x446784
call fcn.00403170
jmp 0x446dbf
inc ebx
dec esi
jne 0x446760
mov eax, dword [0x449c40]
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 0x4467fa
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [eax + 0x30]
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
call fcn.00422a24
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx + 0x24]
call fcn.0041dda0
mov edi, eax
test edi, edi
je 0x4467f6
lea eax, [edi + 0x30]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx + 0x30]
call fcn.0040360c
mov edx, edi
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call dword [ecx + 8]
inc ebx
dec esi
jne 0x4467a1
mov eax, dword [0x449c40]
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 0x446838
mov ebx, 1
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
mov edx, ebx
call fcn.004229ac
mov edx, eax
mov eax, dword [0x449b4c]
mov eax, dword [eax]
call fcn.004428e8
inc ebx
dec esi
jne 0x446815
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x44684c
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x447258
call fcn.00425940
xor al, 1
mov byte [ebp - 0x32], al
mov eax, dword [0x449b34]
cmp byte [eax], 0
jne 0x4468d8
call fcn.00431e70
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x4468ce
inc esi
xor ebx, ebx
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, ebx
call fcn.0043ddd4
cmp byte [eax + 0x1c], 2
jne 0x4468ca
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, ebx
call fcn.0043ddd4
mov edx, dword [eax + 0x18]
mov eax, dword [0x449c60]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0042f2bc
call fcn.0042feb0
add dword [ebp - 0xc], eax
inc ebx
dec esi
jne 0x44688e
mov eax, dword [ebp - 0xc]
call fcn.00431f38
jmp 0x446902
mov eax, dword [0x449c60]
mov eax, dword [eax]
call fcn.0042ebcc
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
mov eax, dword [0x449bb0]
fistp qword [eax]
wait
mov eax, dword [0x449b8c]
mov dword [eax], 1
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x446992
mov eax, dword [0x449c40]
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 0x446992
inc esi
xor ebx, ebx
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x54]
mov edi, eax
dec edi
test edi, edi
jl 0x44698e
inc edi
mov dword [ebp - 0xc], 0
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0xc]
call fcn.00422c40
push eax
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, ebx
call fcn.00422bc0
mov eax, dword [eax + 0x34]
pop edx
call fcn.0044530c
inc dword [ebp - 0xc]
dec edi
jne 0x446951
inc ebx
dec esi
jne 0x446929
mov eax, dword [0x449b88]
cmp byte [eax], 0
jne 0x4469d0
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 7
call fcn.00438d90
test eax, eax
je 0x4469bc
call fcn.00403170
jmp 0x446dbf
mov eax, dword [0x449b3c]
cmp byte [eax], 0
je 0x4469d0
call fcn.00403170
jmp 0x446dbf
mov byte [ebp - 1], 1
mov eax, dword [0x449c10]
cmp byte [eax], 0
je 0x446a32
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x54]
mov esi, eax
dec esi
test esi, esi
jl 0x446a32
inc esi
xor ebx, ebx
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, ebx
call fcn.0043ddd4
cmp byte [eax + 0x1c], 2
jne 0x446a2e
mov eax, dword [0x449b90]
mov eax, dword [eax]
mov edx, ebx
call fcn.0043ddd4
mov edx, dword [eax + 0x18]
mov eax, dword [0x449c60]
mov eax, dword [eax]
call fcn.0042ec58
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x446a32
inc ebx
dec esi
jne 0x4469f4
cmp byte [ebp - 1], 0
je 0x446a54
mov eax, dword [0x449b34]
cmp byte [eax], 0
je 0x446a4c
call fcn.00436d0c
mov byte [ebp - 1], al
jmp 0x446a54
call fcn.00435a84
mov byte [ebp - 1], al
mov eax, dword [0x449be4]
cmp byte [eax], 0
jne 0x446ac9
cmp byte [ebp - 1], 0
je 0x446a82
push 1
push 0
xor ecx, ecx
xor edx, edx
mov eax, 8
call fcn.00438d90
mov eax, dword [0x449b3c]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x446ac9
push 0
push 1
mov byte [ebp - 0x58], 1
mov byte [ebp - 0x54], 1
lea edx, [ebp - 0x58]
mov eax, dword [0x449b60]
xor ecx, ecx
call fcn.00425f90
mov edx, eax
xor ecx, ecx
mov eax, 5
call fcn.00438d90
test eax, eax
sete byte [ebp - 1]
cmp byte [ebp - 1], 0
je 0x446ac9
mov eax, dword [0x449b3c]
mov al, byte [eax]
xor al, 1
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
je 0x446b5c
mov eax, dword [0x449c40]
mov eax, dword [eax]
cmp byte [eax + 0x56], 0
je 0x446afd
mov eax, dword [0x449be4]
cmp byte [eax], 0
jne 0x446afd
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
mov cl, 1
call fcn.00425af4
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x447270
call fcn.00425940
test al, al
je 0x446b27
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425af4
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425940
test al, al
je 0x446b5c
push 0
push 0
xor ecx, ecx
xor edx, edx
mov eax, 0x14
call fcn.00438d90
mov eax, dword [0x449b3c]
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 0x446dbf
cmp byte [ebp - 1], 0
je 0x446b77
call fcn.0043cfac
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x446ccc
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425af4
mov eax, dword [0x449be4]
mov byte [eax], 0
cmp byte [ebp - 0x32], 0
je 0x446ccc
call fcn.00412b88
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
dec eax
je 0x446ccc
lea edx, [ebp - 0x3c]
mov eax, 0x12
call fcn.0043a434
mov eax, dword [ebp - 0x3c]
mov edx, 0x2ee
call fcn.0043996c
xor eax, eax
push ebp
push 0x446cc5
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
push 1
xor ecx, ecx
xor edx, edx
mov eax, 0x16
call fcn.00438d90
test eax, eax
jne 0x446cb2
mov eax, dword [0x449c28]
mov eax, dword [eax]
call fcn.0042c2b0
mov edx, 0x446fd0
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004258d0
test eax, eax
jne 0x446cb2
lea eax, [ebp - 0x18]
push eax
mov eax, 0x446ff4
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea edx, [ebp - 0x50]
mov ecx, 1
mov eax, 0x447034
call fcn.004079a8
mov eax, dword [ebp - 0x18]
call fcn.00414058
test al, al
je 0x446c70
mov dl, 1
mov eax, dword [ebp - 0x18]
call fcn.0041413c
lea eax, [ebp - 0x18]
push eax
mov eax, 0x446ff4
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x4c], 0xb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x44], 0xb
lea edx, [ebp - 0x50]
mov ecx, 1
mov eax, 0x447060
call fcn.004079a8
mov eax, dword [ebp - 0x18]
call fcn.00414058
test al, al
je 0x446cb2
mov dl, 1
mov eax, dword [ebp - 0x18]
call fcn.0041413c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x446ccc
call fcn.004399dc
ret
mov eax, dword [0x449be4]
mov al, byte [eax]
xor al, 1
and al, byte [ebp - 0x31]
je 0x446d05
push 1
push 1
mov al, byte [ebp - 1]
mov byte [ebp - 0x58], al
mov byte [ebp - 0x54], 1
lea edx, [ebp - 0x58]
mov eax, dword [0x449b60]
xor ecx, ecx
call fcn.00425f90
mov edx, eax
xor ecx, ecx
mov eax, 4
call fcn.00438d90
mov edx, 0x446f90
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425940
mov byte [0x44ad08], al
mov edx, 0x447270
mov eax, dword [0x449c40]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00425940
test al, al
je 0x446d3b
mov byte [0x44ad08], 0
mov eax, dword [0x449b4c]
mov eax, dword [eax]
call fcn.00442da4
mov eax, dword [ebp - 0x14]
call fcn.00407398
mov eax, dword [0x449ba0]
cmp dword [eax], 0
je 0x446d66
mov eax, dword [0x449ba0]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_CloseHandle
mov eax, dword [0x449c04]
cmp dword [eax], 0
je 0x446d7d
mov eax, dword [0x449c04]
mov eax, dword [eax]
push eax
call sub.KERNEL32.DLL_FreeLibrary
call fcn.00412b88
mov eax, dword [0x449b0c]
mov eax, dword [eax]
call fcn.00402c5c
mov eax, dword [0x449c40]
mov eax, dword [eax]
call fcn.00402c5c
mov eax, dword [0x449c48]
mov eax, dword [eax]
push eax
call sub.user32.dll_DestroyWindow
mov eax, dword [0x449c30]
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 0x446df6
lea eax, [ebp - 0x5c]
call fcn.004035b8
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004035dc
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.004035dc
ret