Function at 0x4073a0
Capabilities:
Create thread

Disassembly:
sub esp, 0x730
lea eax, [esp]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push eax
mov dword [0x4294fc], ebx
call fcn.00414940
mov ecx, dword [0x423e98]
mov edi, 2
mov eax, ecx
add esp, 4
and eax, 0xff
sub eax, edi
je 0x407c0b
sub eax, edi
je 0x407914
dec eax
jne 0x407df0
mov eax, dword [0x4294a8]
cmp eax, 1
je 0x4073fe
cmp dword [0x4294a4], ebx
jne 0x407df0
mov edx, dword [0x423e9c]
cmp dl, 0x1d
jne 0x4074f8
cmp eax, 1
jne 0x407df0
mov eax, dword [0x4244dc]
cmp eax, 0x1d
jb 0x407df0
mov dword [0x4294a8], edi
mov ecx, 6
mov esi, 0x423e9d
mov edi, 0x427610
cmp eax, 0x3d
mov dword [0x429438], ebx
rep movsd dword es:[edi], dword [esi]
jb 0x407486
mov al, byte [0x428684]
push 0x423eb5
test al, 2
je 0x40747e
call fcn.004169f0
add esp, 4
test eax, eax
jne 0x407486
mov ecx, dword [0x428cd4]
push 0x13734
push 0x12f
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x407486
call fcn.0040d810
add esp, 4
call fcn.0040b220
push 1
push ebx
push ebx
call fcn.004047d0
add esp, 4
push eax
call fcn.00409af0
mov edx, dword [0x427618]
mov eax, dword [0x42761c]
mov ecx, dword [0x427620]
mov dword [0x424514], edx
mov dl, byte [0x427626]
add esp, 0xc
mov dword [0x424510], eax
mov dword [0x42450c], ecx
mov byte [0x4294f8], dl
call fcn.004068b0
lea eax, [esp + 0x3c]
push eax
push ebx
push 1
push 0x40dad0
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
pop edi
pop esi
pop ebp
mov dword [0x4294a4], eax
pop ebx
add esp, 0x730
ret
cmp dword [0x429458], ebx
je 0x40751b
movsx ecx, dl
mov edx, dword [0x42945c]
push ecx
push 1
push edx
call fcn.0040f4f0
mov edx, dword [0x423e9c]
add esp, 0xc
mov eax, edx
mov dword [0x42842c], ebx
and eax, 0xff
mov byte [0x41e1c6], bl
dec eax
cmp eax, 0x1b
ja case.0x407540.12
xor ecx, ecx
mov cl, byte [eax + 0x407e2c]
jmp dword [ecx*4 + 0x407dfc]
push 4
push 1
push 0x423e9d
call fcn.004082f0
jmp 0x4078f0
push 4
push 1
push 0x48
jmp 0x4078eb
mov eax, dword [0x4244dc]
push 4
cmp eax, 0xa
push 1
jge 0x40757a
push 0x46
jmp 0x4078eb
push 0x3d
jmp 0x4078eb
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x141]
mov byte [esp + 0x140], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
stosb byte es:[edi], al
cmp dword [0x4244dc], 7
jge 0x4075d5
mov edi, 0x42052c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x340]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4075f5
push 0x423e9d
call fcn.0040a1d0
add esp, 4
lea ecx, [esp + 0x340]
push eax
push str.____s__
push ecx
call ebp
add esp, 0xc
lea edx, [esp + 0x340]
push edx
push 0x45
call fcn.004047d0
add esp, 4
push eax
lea eax, [esp + 0x148]
push eax
call ebp
push 4
lea ecx, [esp + 0x150]
push 1
push ecx
call fcn.00409af0
add esp, 0x18
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x141]
mov byte [esp + 0x140], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
stosb byte es:[edi], al
cmp dword [0x4244dc], 7
jge 0x407692
mov edi, 0x42052c
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x340]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4076d3
mov eax, dword [0x423ea0]
xor ecx, ecx
mov cl, byte [0x423ea2]
push ecx
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
xor ecx, ecx
mov al, byte [0x423e9f]
mov cl, byte [0x423e9e]
push eax
xor eax, eax
mov al, dh
push ecx
push eax
lea ecx, [esp + 0x358]
push str.____02X__02X__02X__02X__02X__02X__
push ecx
call ebp
add esp, 0x20
lea edx, [esp + 0x340]
push edx
push 0x39
call fcn.004047d0
add esp, 4
push eax
lea eax, [esp + 0x148]
push eax
call ebp
push 4
lea ecx, [esp + 0x150]
push 1
push ecx
call fcn.00409af0
add esp, 0x18
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov eax, dword [0x4244dc]
push 4
cmp eax, 6
push 1
jge 0x407731
push 0x38
jmp 0x4078eb
push 0x12
jmp 0x4078eb
push ebx
call fcn.00408960
add esp, 4
push eax
push 0x36
call fcn.004047d0
movsx edx, byte [0x423e9c]
add esp, 4
push eax
push edx
lea eax, [esp + 0x34c]
push str.Error_Code__u____s:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 4
lea ecx, [esp + 0x358]
push 1
push ecx
call fcn.00409af0
add esp, 0x20
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
mov ecx, 0x3e
xor eax, eax
lea edi, [esp + 0x40]
mov esi, 0x423eac
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x3e
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x13a], bl
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4077e9
lea edx, [esp + 0x40]
lea eax, [esp + 0x340]
push edx
push 0x41e3d8
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x40781d
push 0x1c
call fcn.004047d0
movsx ecx, byte [0x423e9c]
add esp, 4
push eax
push ecx
push 0x6f
call fcn.004047d0
add esp, 4
lea edx, [esp + 0x348]
push eax
push str._s:_Code__u___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
push 4
lea eax, [esp + 0x344]
push 1
push eax
call fcn.00409af0
mov edi, 0x423eac
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
add ecx, 0x14
lea edx, [ecx + 0x423e98]
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 4
jb 0x4078fc
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0xb4
jae 0x4078fc
push edx
call fcn.00406820
add esp, 4
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
push 4
push 1
push 0x62
jmp 0x4078eb
push 4
push 1
push 0x63
jmp 0x4078eb
movsx ecx, dl
push ecx
lea edx, [esp + 0x344]
push str.Code__u_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
push 4
lea eax, [esp + 0x350]
push 1
push eax
call fcn.00409af0
add esp, 0x18
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
push 4
push 1
push 0x4e
call fcn.004047d0
add esp, 4
push eax
call fcn.00409af0
add esp, 0xc
push str._login_code_5_return_error
call fcn.004051d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
cmp dword [0x429458], ebx
je 0x40792f
mov ecx, dword [0x42945c]
push 0x64
push 1
push ecx
call fcn.0040f4f0
add esp, 0xc
call fcn.004158b0
mov eax, dword [0x42868c]
mov byte [0x41e1c6], 1
test eax, 0x20000
mov byte [0x429499], 0xff
jne 0x407965
push 1
push 1
push 0x11
call fcn.004047d0
add esp, 4
push eax
call fcn.00409af0
add esp, 0xc
mov ecx, dword [0x4244dc]
cmp ecx, 0xd
jl 0x4079a3
mov edx, dword [0x423e9d]
mov eax, dword [0x423ea1]
cmp ecx, 0x11
mov dword [0x424514], edx
mov dword [0x424510], eax
jl 0x407999
mov edx, dword [0x423ea5]
mov dword [0x42450c], edx
jmp 0x4079a3
mov dword [0x42450c], 0xffffffff
cmp ecx, 0x12
jl 0x4079b4
mov al, byte [0x423ea9]
mov byte [0x42949a], al
jmp 0x4079bb
mov byte [0x42949a], 1
cmp ecx, 0x17
jl 0x407b09
mov dl, byte [0x423eaa]
mov eax, dword [0x423eab]
cmp dl, bl
mov dword [0x4283bc], eax
jne 0x4079e2
cmp eax, ebx
je 0x407a7c
jmp 0x407a34
cmp eax, ebx
jne 0x407a17
push 0x34
call fcn.004047d0
mov ecx, dword [0x428cc8]
add esp, 4
push eax
push 0x139
push ebx
push ecx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov edx, dword [0x428cd4]
push 0x42052c
push 0x139
push edx
jmp 0x407a70
push 0x33
call fcn.004047d0
add esp, 4
push eax
mov eax, dword [0x428cc8]
push 0x139
push ebx
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
push 0x4283bc
call fcn.0040a1d0
add esp, 4
push eax
push 0x35
call fcn.004047d0
add esp, 4
lea ecx, [esp + 0x44]
push eax
push str._s:__s
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x428cd4]
add esp, 0x10
lea edx, [esp + 0x40]
push edx
push 0x139
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [0x4244dc]
cmp ecx, 0x2b
mov byte [0x4294f8], bl
mov byte [0x4294f9], bl
mov eax, 0x17
jb 0x407ae9
mov al, byte [0x428684]
push 0x423eaf
test al, 2
je 0x407aca
call fcn.004169f0
add esp, 4
test eax, eax
jne 0x407ad2
mov ecx, dword [0x428cd4]
push 0x13734
push 0x12f
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x407ad2
call fcn.0040d810
add esp, 4
xor eax, eax
mov ecx, dword [0x4244dc]
mov al, byte [0x428322]
lea edx, [eax + eax*2]
lea eax, [edx*4 + 0x2b]
cmp ecx, eax
jle 0x407b09
mov dl, byte [eax + 0x423e98]
inc eax
cmp ecx, eax
mov byte [0x4294f9], dl
jle 0x407b09
mov al, byte [eax + 0x423e98]
mov byte [0x4294f8], al
cmp ecx, 0xd
jl 0x407b13
call fcn.004068b0
mov dword [0x428cc0], ebx
call fcn.0040dca0
mov ecx, dword [0x428cc8]
push ebx
push 0x12f
push ecx
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 0x4a
call fcn.004047d0
push eax
call fcn.0040a1e0
mov edx, dword [0x428cd4]
add esp, 8
push edx
call dword [sym.imp.USER32.dll_DrawMenuBar]
push ebx
mov dword [0x42946c], 1
mov dword [0x4283c0], ebx
call dword [sym.imp.USER32.dll_MessageBeep]
test byte [0x4294f9], 1
jne 0x407b7d
push 0x4283d4
call fcn.00406c80
add esp, 4
jmp 0x407b83
mov ax, word [0x428355]
mov word [0x423e94], ax
mov eax, dword [0x4294a0]
cmp eax, ebx
je 0x407ba9
mov ecx, dword [0x427e44]
mov dword [eax + 0xc], ecx
mov eax, dword [0x4294a0]
mov dl, byte [0x4294f9]
mov byte [eax + 0xb], dl
test byte [0x429498], 4
je 0x407bc0
mov ecx, dword [0x428cd4]
push ebx
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.004107d0
xor edx, edx
push ebx
mov dword [0x424a9c], edx
mov dword [0x424aa0], edx
mov dword [0x424aa4], edx
mov dword [0x424aa8], edx
mov dword [0x424aac], edx
call fcn.004089e0
push ebx
call fcn.0040b260
push 3
call fcn.0040f0b0
add esp, 0xc
call fcn.0040f6d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret
cmp dword [0x42943c], ebx
je 0x407df0
mov eax, dword [0x423e9c]
mov dword [0x42943c], ebx
mov dword [0x4283e4], eax
mov eax, dword [0x4244dc]
cmp eax, 0xa
mov dword [0x428cc0], 0x10
mov word [0x4294fa], bx
jl 0x407c50
mov dx, word [0x423ea0]
mov word [0x4294fa], dx
mov edx, dword [0x42868c]
mov esi, 0x40000
test esi, edx
mov dword [0x429438], ebx
mov word [0x4294b0], bx
je 0x407c73
mov word [0x4294b0], di
xor edx, edx
mov ebp, 0x1a
mov dword [0x427e40], edx
cmp eax, ebp
mov dword [0x427e44], edx
mov dword [0x427e48], edx
jl 0x407d15
mov eax, dword [0x41e1c8]
movsx ecx, ch
and eax, 0xff
cmp ecx, eax
jne 0x407cfc
mov dx, word [0x423e9a]
cmp dx, word [0x4294b8]
jne 0x407cfc
mov ecx, dword [0x423eac]
mov eax, dword [0x423ea8]
mov dx, word [0x423eb0]
mov dword [0x427e44], ecx
mov ecx, eax
mov dword [0x427e40], eax
shl ecx, 0x1e
shr eax, 2
add ecx, eax
mov dword [0x429438], 3
push ecx
mov word [0x427e48], dx
mov dword [0x427e40], ecx
call fcn.0040afe0
add esp, 4
cmp dword [0x4244dc], ebp
jl 0x407d15
mov eax, dword [0x423ea2]
test ah, 0x80
je 0x407d15
or byte [0x4294b0], 8
test dword [0x42874c], esi
je 0x407dc1
cmp dword [0x427e44], ebx
je 0x407dc1
push 0x427e44
call fcn.0040a1d0
add esp, 4
mov esi, eax
lea ecx, [esp + 0x10]
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x407d64
cmp al, bl
je 0x407d60
mov dl, byte [ecx + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x407d64
add ecx, 2
add esi, 2
cmp al, bl
jne 0x407d40
xor eax, eax
jmp 0x407d69
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x407dc1
push 0x427e44
call fcn.0040a1d0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x10]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2a], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2e], edx
mov dword [esp + 0x36], ecx
mov dword [esp + 0x32], eax
mov byte [esp + 0x39], bl
cmp dword [0x4244dc], ebp
jl 0x407dd8
mov eax, dword [0x423eac]
mov dword [0x429470], eax
mov dword [0x427e44], eax
push 5
call fcn.0040f0b0
add esp, 4
test al, al
je 0x407df0
push 1
call fcn.0040faf0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x730
ret