Function at 0x41e3c0
Capabilities:
Check mutex on windows
Extract resource via kernel32 functions
Inspect load icon resource
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb68
mov eax, dword [0x4a3350]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 3
mov dword [ebp - 0xb50], eax
mov dword [ebp - 0xb30], 0
call fcn.0043f3b0
add esp, 4
push 0x10
push 1
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
xorps xmm0, xmm0
movzx esi, word [eax + 0x3a]
movzx edx, word [eax + 0x38]
movzx ecx, word [eax + 0x3e]
movzx eax, word [eax + 0x3c]
push eax
push ecx
push edx
push esi
lea eax, [ebp - 0x10]
mov byte [ebp - 0x10], 0
push str._d._d._d._d
push eax
movq qword [ebp - 0xf], xmm0
mov byte [ebp - 7], 0
call fcn.00425315
add esp, 0x18
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41e51a
call fcn.00419ec0
push 6
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x6c]
mov dword [ebp - 0xb34], eax
mov ecx, 9
mov dword [ebp - 0xb28], ecx
lea esi, [eax + 0x24]
add esi, dword [eax + 0x20]
mov ebx, esi
mov dword [ebp - 0xb2c], esi
sub ebx, dword [eax + 0x20]
mov edi, esi
add ebx, 0x2000
mov eax, ebx
sub eax, esi
cmp eax, ecx
jae 0x41e4ac
mov ecx, eax
mov dword [ebp - 0xb28], ecx
test eax, eax
je 0x41e4c3
push ecx
push 0x48b62c
push esi
call fcn.00424600
mov edi, dword [ebp - 0xb28]
add esp, 0xc
add edi, esi
lea esi, [ebp - 0x10]
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x41e4d0
sub esi, ecx
sub ebx, edi
cmp esi, ebx
cmova esi, ebx
test esi, esi
je 0x41e4f4
push esi
lea eax, [ebp - 0x10]
push eax
push edi
call fcn.00424600
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0xb34]
sub edi, dword [ebp - 0xb2c]
add dword [esi + 0x20], edi
call fcn.00419ec0
push 0x136
push 0x48b638
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x49bc14
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0xa7c], 0xf
mov dword [ebp - 0xa80], 0
mov byte [ebp - 0xa90], 0
call fcn.00406980
push 0
push 0x49bc14
lea ecx, [ebp - 0xa78]
mov dword [ebp - 0xa34], 0xf
mov dword [ebp - 0xa38], 0
mov byte [ebp - 0xa48], 0
mov dword [ebp - 0xa64], 0xf
mov dword [ebp - 0xa68], 0
mov byte [ebp - 0xa78], 0
call fcn.00406980
push 0x48b648
push 0x800
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [0x4a9478], eax
test eax, eax
je 0x41ea86
push 0
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
push 0x7ff
mov esi, eax
mov byte [ebp - 0xa18], 0
lea eax, [ebp - 0xa17]
push 0
push eax
call fcn.00424c50
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e5f5
sub ecx, edx
lea eax, [ebp - 0xa18]
push ecx
push esi
push eax
call fcn.00424600
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp byte [ebp - 0xa18], 0
mov dword [ebp - 0xa4c], 0xf
mov dword [ebp - 0xa50], 0
mov byte [ebp - 0xa60], 0
jne 0x41e63e
xor ecx, ecx
jmp 0x41e650
lea ecx, [ebp - 0xa18]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41e647
sub ecx, edx
push ecx
lea eax, [ebp - 0xa18]
push eax
lea ecx, [ebp - 0xa60]
call fcn.00406980
push dword [0x4a9478]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xa50], 0
jbe 0x41ea6f
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41e767
call fcn.00419ec0
push 6
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x6c]
mov dword [ebp - 0xb30], eax
lea ecx, [ebp - 0xa60]
mov edx, 5
mov dword [ebp - 0xb28], edx
lea esi, [eax + 0x24]
add esi, dword [eax + 0x20]
mov ebx, esi
mov dword [ebp - 0xb2c], esi
sub ebx, dword [eax + 0x20]
mov edi, esi
add ebx, 0x2000
cmp dword [ebp - 0xa4c], 0x10
mov eax, ebx
cmovae ecx, dword [ebp - 0xa60]
sub eax, esi
mov dword [ebp - 0xb34], ecx
cmp eax, edx
jae 0x41e6fe
mov edx, eax
mov dword [ebp - 0xb28], edx
test eax, eax
je 0x41e71b
push edx
push str.json:
push esi
call fcn.00424600
mov edi, dword [ebp - 0xb28]
add esp, 0xc
mov ecx, dword [ebp - 0xb34]
add edi, esi
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41e720
sub esi, edx
sub ebx, edi
cmp esi, ebx
cmova esi, ebx
test esi, esi
je 0x41e741
push esi
push ecx
push edi
call fcn.00424600
add esp, 0xc
add edi, esi
mov esi, dword [ebp - 0xb30]
sub edi, dword [ebp - 0xb2c]
add dword [esi + 0x20], edi
call fcn.00419ec0
push 0x146
push 0x48b638
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
push 0x74
lea eax, [ebp - 0xb04]
push 0
push eax
call fcn.00424c50
add esp, 0xc
lea ecx, [ebp - 0xb04]
call fcn.00408af0
xorps xmm0, xmm0
lea ecx, [ebp - 0xa30]
push 0
movdqu xmmword [ebp - 0xa30], xmm0
movq qword [ebp - 0xa20], xmm0
call fcn.00402bf0
push 1
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0xa60]
push eax
lea ecx, [ebp - 0xb04]
call fcn.00408c40
test al, al
je 0x41ea59
push 0x48b680
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41ea59
push str.apijosn
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41ea59
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41e916
call fcn.00419ec0
push 6
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x6c]
mov dword [ebp - 0xb34], eax
lea ecx, [ebp - 0xa30]
lea esi, [eax + 0x24]
add esi, dword [eax + 0x20]
mov ebx, esi
mov dword [ebp - 0xb30], esi
sub ebx, dword [eax + 0x20]
mov edi, esi
lea eax, [ebp - 0xb68]
add ebx, 0x2000
push eax
call fcn.00404fe0
mov ecx, eax
mov dword [ebp - 0xb2c], eax
cmp dword [ecx + 0x14], 0x10
jb 0x41e877
mov ecx, dword [ecx]
mov dword [ebp - 0xb2c], ecx
mov eax, ebx
mov edx, 2
sub eax, esi
mov dword [ebp - 0xb28], edx
cmp eax, edx
jae 0x41e896
mov edx, eax
mov dword [ebp - 0xb28], edx
test eax, eax
je 0x41e8b3
push edx
push 0x48b68c
push esi
call fcn.00424600
mov edi, dword [ebp - 0xb28]
add esp, 0xc
mov ecx, dword [ebp - 0xb2c]
add edi, esi
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41e8b8
sub esi, edx
sub ebx, edi
cmp esi, ebx
cmova esi, ebx
test esi, esi
je 0x41e8d9
push esi
push ecx
push edi
call fcn.00424600
add esp, 0xc
add edi, esi
cmp dword [ebp - 0xb54], 0x10
jb 0x41e8f0
push dword [ebp - 0xb68]
call fcn.004235a4
add esp, 4
mov esi, dword [ebp - 0xb34]
sub edi, dword [ebp - 0xb30]
add dword [esi + 0x20], edi
call fcn.00419ec0
push 0x14d
push 0x48b638
push esi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
lea eax, [ebp - 0xb4c]
mov ebx, 1
push eax
push 0x48b680
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
cmp dword [eax + 0x10], 0
jbe 0x41e97f
lea eax, [ebp - 0xb68]
mov ebx, 3
push eax
push 0x48b680
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
cmp dword [eax + 0x14], 0x10
jb 0x41e96a
mov eax, dword [eax]
push eax
call fcn.0041e380
add esp, 4
mov byte [ebp - 0xb21], 1
cmp eax, 1
je 0x41e986
mov byte [ebp - 0xb21], 0
test bl, 2
je 0x41e999
lea ecx, [ebp - 0xb68]
and ebx, 0xfffffffd
call fcn.00405270
test bl, 1
je 0x41e9a9
lea ecx, [ebp - 0xb4c]
call fcn.00405270
cmp byte [ebp - 0xb21], 0
je 0x41e9ef
lea eax, [ebp - 0xb4c]
push eax
push 0x48b680
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
cmp dword [eax + 0x14], 0x10
jb 0x41e9d8
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xa78]
call fcn.004129f0
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push str.apijosn
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404fe0
push eax
lea ecx, [ebp - 0xa48]
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push 0x48b690
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
lea ecx, [ebp - 0xa90]
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea ecx, [ebp - 0xa30]
call fcn.00402ea0
lea ecx, [ebp - 0xb04]
call fcn.0041dcf0
cmp dword [ebp - 0xa4c], 0x10
jb 0x41ea86
push dword [ebp - 0xa60]
call fcn.004235a4
add esp, 4
cmp dword [ebp - 0xa38], 0
jne 0x41ebfe
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x218]
push 0x104
push eax
push 0
call esi
push 0x104
lea eax, [ebp - 0x114]
push eax
push 0
call esi
lea eax, [ebp - 0x114]
push eax
call fcn.0041e1c0
mov esi, eax
lea eax, [ebp - 0x114]
push 0x48af50
push eax
mov dword [ebp - 0xb30], esi
call fcn.00425d2b
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x41ebfe
push 2
push 0
push ebx
call fcn.00425e14
push ebx
call fcn.00426227
mov edi, eax
add esp, 0x10
sub edi, esi
test edi, edi
jle 0x41ebf5
push edi
call fcn.00426a3c
push ebx
mov esi, eax
call fcn.00427a9a
push 0
push dword [ebp - 0xb30]
push ebx
call fcn.00425e14
push ebx
push edi
push 1
push esi
call fcn.00426900
add esp, 0x24
cmp edi, 6
jle 0x41eb44
mov cl, byte [esi + 5]
mov al, byte [esi + 1]
mov byte [esi + 5], al
mov byte [esi + 1], cl
cmp edi, 0xa
jle 0x41eb55
mov cl, byte [esi + 9]
mov al, byte [esi + 6]
mov byte [esi + 9], al
mov byte [esi + 6], cl
cmp edi, 0x14
jle 0x41eb66
mov cl, byte [esi + 0x14]
mov al, byte [esi + 0xf]
mov byte [esi + 0x14], al
mov byte [esi + 0xf], cl
xor ecx, ecx
test edi, edi
jle 0x41ebc8
cmp edi, 0x20
jb 0x41ebb6
mov eax, edi
and eax, 0x8000001f
jns 0x41eb7f
dec eax
or eax, 0xffffffe0
inc eax
movdqu xmm1, xmmword [0x48b720]
mov edx, edi
sub edx, eax
lea eax, [esi + 0x10]
mov edi, edi
movdqu xmm0, xmmword [eax - 0x10]
add ecx, 0x20
lea eax, [eax + 0x20]
pandn xmm0, xmm1
movdqu xmmword [eax - 0x30], xmm0
movdqu xmm0, xmmword [eax - 0x20]
pandn xmm0, xmm1
movdqu xmmword [eax - 0x20], xmm0
cmp ecx, edx
jl 0x41eb90
cmp ecx, edi
jge 0x41ebc8
lea ebx, [ebx]
not byte [ecx + esi]
inc ecx
cmp ecx, edi
jl 0x41ebc0
cmp byte [esi], 0
jne 0x41ebd1
xor ecx, ecx
jmp 0x41ebdf
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ebd6
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0xa48]
call fcn.00406670
push esi
call fcn.004239a7
add esp, 4
push ebx
call fcn.00423755
add esp, 4
push str.e91a47a8_4966_4643_9fb0_b31f8838a51d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
jne 0x41ec29
cmp dword [ebp - 0xa80], eax
jne 0x41ec29
push eax
call fcn.0041df70
add esp, 4
jmp 0x41f425
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x41ec55
cmp dword [ebp - 0xa80], 0
jne 0x41ec55
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call fcn.0041df70
add esp, 4
jmp 0x41f425
cmp dword [ebp - 0xa34], 0x10
lea eax, [ebp - 0xa48]
push 0
cmovae eax, dword [ebp - 0xa48]
push 0x49bc14
push eax
call fcn.00408830
add esp, 0xc
test eax, eax
jne 0x41ed1c
cmp dword [ebp - 0xa38], eax
setne al
test eax, eax
jne 0x41ed1c
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41ed0d
call fcn.00419ec0
push 6
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x6c]
mov edi, eax
mov ebx, 6
mov ecx, dword [edi + 0x20]
lea esi, [ecx + 0x24]
add esi, edi
mov edx, esi
mov eax, esi
sub edx, ecx
add edx, 0x2000
sub edx, esi
cmp edx, ebx
jae 0x41ecdf
mov ebx, edx
test edx, edx
je 0x41ecf1
push ebx
push 0x48b6c0
push esi
call fcn.00424600
add esp, 0xc
lea eax, [ebx + esi]
sub eax, esi
add dword [edi + 0x20], eax
call fcn.00419ec0
push 0x198
push 0x48b638
push edi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
push 0
call fcn.0041df70
add esp, 4
jmp 0x41f425
push 0x74
lea eax, [ebp - 0xb04]
push 0
push eax
call fcn.00424c50
add esp, 0xc
lea ecx, [ebp - 0xb04]
call fcn.00408af0
xorps xmm0, xmm0
lea ecx, [ebp - 0xa30]
push 0
movdqu xmmword [ebp - 0xa30], xmm0
movq qword [ebp - 0xa20], xmm0
call fcn.00402bf0
push 1
lea eax, [ebp - 0xa30]
push eax
lea eax, [ebp - 0xa48]
push eax
lea ecx, [ebp - 0xb04]
call fcn.00408c40
mov esi, 0x4a3010
test al, al
je 0x41f148
lea eax, [ebp - 0xb68]
push eax
lea ecx, [ebp - 0xa30]
call fcn.00404fe0
mov edi, eax
lea eax, [ebp - 0xa48]
cmp eax, edi
je 0x41edde
cmp dword [ebp - 0xa34], 0x10
jb 0x41edb7
push dword [ebp - 0xa48]
call fcn.004235a4
add esp, 4
push edi
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0xa34], 0xf
mov dword [ebp - 0xa38], 0
mov byte [ebp - 0xa48], 0
call fcn.00406510
cmp dword [ebp - 0xb54], 0x10
jb 0x41edf5
push dword [ebp - 0xb68]
call fcn.004235a4
add esp, 4
push 0x48b6c8
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push str.mexe
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push str.upexe
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push 0x48b6dc
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push 0x48b6e0
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push str.down
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
push str.cnzz
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
lea eax, [ebp - 0xb4c]
push eax
push 0x48b6c8
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
mov edi, 0x4a3028
push eax
mov ecx, edi
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push str.mexe
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a3040
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push str.upexe
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a3058
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push 0x48b6dc
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a3070
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push 0x48b6e0
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a3088
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea eax, [ebp - 0xb4c]
push eax
push str.down
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a30a0
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
push 0x49bc14
mov ecx, 0x4a30b8
call fcn.004129f0
push 0x49bc14
mov ecx, 0x4a30d0
call fcn.004129f0
lea eax, [ebp - 0xb4c]
push eax
push str.cnzz
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, 0x4a30e8
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
cmp dword [0x4a30f8], 0
jbe 0x41f0ed
cmp dword [0x4a3038], 0
jbe 0x41f0ed
cmp dword [0x4a303c], 0x10
lea ecx, [ebp - 0xa60]
cmovae edi, dword [0x4a3028]
push edi
call fcn.004051a0
push 0x48ae64
lea ecx, [ebp - 0xa60]
call fcn.004052a0
push 0x49bc14
lea ecx, [ebp - 0xb68]
call fcn.004051a0
lea eax, [ebp - 0xb68]
push eax
lea eax, [ebp - 0xa60]
push eax
lea eax, [ebp - 0xb4c]
push 0x4a30e8
push eax
call fcn.00415470
add esp, 0x10
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea ecx, [ebp - 0xb68]
call fcn.00405270
lea ecx, [ebp - 0xa60]
call fcn.00405270
push 0x49bc14
mov ecx, 0x4a3100
call fcn.004129f0
push str.cnzztype
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00404c80
test al, al
jne 0x41f148
lea eax, [ebp - 0xb4c]
push eax
push str.cnzztype
lea ecx, [ebp - 0xa30]
call fcn.00404870
mov ecx, eax
call fcn.00403130
push eax
mov ecx, esi
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
lea ecx, [ebp - 0xa30]
call fcn.00402ea0
lea ecx, [ebp - 0xb04]
call fcn.0041dcf0
cmp dword [0x4a3068], 0
je 0x41f3aa
cmp dword [0x4a3038], 0
je 0x41f3aa
cmp dword [0x4a30f8], 0
je 0x41f3aa
cmp dword [0x4a3020], 0
jbe 0x41f1c1
cmp dword [0x4a3024], 0x10
push str.game
cmovae esi, dword [0x4a3010]
push esi
call fcn.00481c41
movzx ecx, byte [0x4a9264]
add esp, 8
test eax, eax
mov edx, 1
cmove ecx, edx
mov byte [0x4a9264], cl
lea eax, [ebp - 0xb4c]
push eax
call fcn.0041e0f0
add esp, 4
mov ecx, 0x4a4780
push eax
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
push 0xd8
call fcn.00423553
add esp, 4
test eax, eax
je 0x41f202
mov ecx, eax
call fcn.0046a1f0
mov esi, eax
jmp 0x41f204
xor esi, esi
lea eax, [ebp - 0xb4c]
push eax
call fcn.0041e0f0
add esp, 4
lea ecx, [esi + 0x78]
push eax
call fcn.0040b780
lea ecx, [ebp - 0xb4c]
call fcn.00405270
cmp esi, 0x4a3028
je 0x41f23f
push 0xffffffffffffffff
push 0
push 0x4a3028
mov ecx, esi
call fcn.00406850
lea ecx, [esi + 0x18]
cmp ecx, 0x4a30a0
je 0x41f258
push 0xffffffffffffffff
push 0
push 0x4a30a0
call fcn.00406850
lea ecx, [esi + 0x30]
cmp ecx, 0x4a30e8
je 0x41f271
push 0xffffffffffffffff
push 0
push 0x4a30e8
call fcn.00406850
lea ecx, [esi + 0x60]
cmp ecx, 0x4a3058
je 0x41f28a
push 0xffffffffffffffff
push 0
push 0x4a3058
call fcn.00406850
lea ecx, [esi + 0x48]
cmp ecx, 0x4a3040
je 0x41f2a3
push 0xffffffffffffffff
push 0
push 0x4a3040
call fcn.00406850
lea ecx, [esi + 0x90]
lea eax, [ebp - 0xa48]
cmp ecx, eax
je 0x41f2bd
push 0xffffffffffffffff
push 0
push eax
call fcn.00406850
lea ecx, [esi + 0xa8]
lea eax, [ebp - 0xa90]
cmp ecx, eax
je 0x41f2d7
push 0xffffffffffffffff
push 0
push eax
call fcn.00406850
lea ecx, [esi + 0xc0]
lea eax, [ebp - 0xa78]
cmp ecx, eax
je 0x41f2f1
push 0xffffffffffffffff
push 0
push eax
call fcn.00406850
push 1
mov ecx, esi
call fcn.0046a2e0
test al, al
jne 0x41f30d
push 0
call fcn.0041df70
add esp, 4
jmp 0x41f425
mov ebx, dword [ebp - 0xb50]
push 0x6c
push ebx
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x6b
push ebx
mov dword [0x4a9268], eax
mov dword [0x4a9260], ebx
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
mov dword [ebp - 0xb50], eax
lea eax, [ebp - 0xb20]
push 0
push eax
call esi
test eax, eax
je 0x41f3a2
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x41f360
lea eax, [ebp - 0xb20]
push eax
push dword [ebp - 0xb50]
push dword [ebp - 0xb20]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x41f38f
lea eax, [ebp - 0xb20]
push eax
call edi
lea eax, [ebp - 0xb20]
push eax
call ebx
push 0
push 0
push 0
lea eax, [ebp - 0xb20]
push eax
call esi
test eax, eax
jne 0x41f360
mov esi, dword [ebp - 0xb18]
jmp 0x41f427
call fcn.00419ec0
push 6
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 0x1c]
call eax
test al, al
je 0x41f425
call fcn.00419ec0
push 6
push 0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x6c]
mov edi, eax
mov ebx, 0x12
mov ecx, dword [edi + 0x20]
lea esi, [ecx + 0x24]
add esi, edi
mov edx, esi
mov eax, esi
sub edx, ecx
add edx, 0x2000
sub edx, esi
cmp edx, ebx
jae 0x41f3f7
mov ebx, edx
test edx, edx
je 0x41f409
push ebx
push 0x48b700
push esi
call fcn.00424600
add esp, 0xc
lea eax, [ebx + esi]
sub eax, esi
add dword [edi + 0x20], eax
call fcn.00419ec0
push 0x1c0
push 0x48b638
push edi
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
xor esi, esi
cmp dword [ebp - 0xa64], 0x10
jb 0x41f43e
push dword [ebp - 0xa78]
call fcn.004235a4
add esp, 4
cmp dword [ebp - 0xa34], 0x10
mov dword [ebp - 0xa64], 0xf
mov dword [ebp - 0xa68], 0
mov byte [ebp - 0xa78], 0
jb 0x41f470
push dword [ebp - 0xa48]
call fcn.004235a4
add esp, 4
cmp dword [ebp - 0xa7c], 0x10
mov dword [ebp - 0xa34], 0xf
mov dword [ebp - 0xa38], 0
mov byte [ebp - 0xa48], 0
jb 0x41f4a2
push dword [ebp - 0xa90]
call fcn.004235a4
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042419e
mov esp, ebp
pop ebp
ret 0x10