Function at 0x401390
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x481597
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x49b1b0]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49b1b0]
xor eax, esp
push eax
lea eax, [esp + 0xdc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x18], eax
xor ebx, ebx
lea edi, [esp + 0xf0]
lea esi, [esp + 0x20]
mov dword [esp + 0xe4], ebx
call fcn.00415f30
mov byte [esp + 0xe4], 1
mov eax, dword [esp + 0x24]
mov ebp, 0x10
cmp dword [esp + 0x38], ebp
jae 0x40140a
lea eax, [esp + 0x24]
mov edi, dword [esp + 0x18]
push eax
add edi, 4
push edi
call fcn.004125e0
test al, al
jne 0x401460
cmp dword [esp + 0x38], ebp
jb 0x40142f
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00469d48
add esp, 4
cmp dword [esp + 0x108], 8
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
jb 0x401459
mov edx, dword [esp + 0xf4]
push edx
call fcn.00469d48
add esp, 4
xor al, al
jmp 0x401af7
cmp byte [esp + 0x10c], bl
mov eax, edi
je 0x4014f5
mov esi, str.TIPAD
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x4014a3
nop
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x401529
mov esi, str.TIPAD
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401480
xor eax, eax
cmp eax, ebx
jne 0x401537
cmp dword [esp + 0x38], ebp
jb 0x4014c0
mov eax, dword [esp + 0x24]
push eax
call fcn.00469d48
add esp, 4
cmp dword [esp + 0x108], 8
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
jb 0x401459
mov ecx, dword [esp + 0xf4]
push ecx
call fcn.00469d48
add esp, 4
xor al, al
jmp 0x401af7
mov esi, 0x48517c
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x4014a3
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x401529
mov esi, 0x48517c
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401505
jmp 0x4014a3
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
jmp 0x4014a5
mov esi, str.Resource
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x40141c
jmp 0x401550
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x401574
mov esi, str.Resource
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401550
jmp 0x40141c
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x40141c
mov esi, str.Type
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x4015fa
lea esp, [esp]
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x4015c1
mov esi, str.Type
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x4015a0
jmp 0x4015fa
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
cmp eax, ebx
je 0x4015fa
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x4015e8
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
cmp eax, ebx
je 0x4015e8
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x4015ea
xor eax, eax
push eax
call fcn.00469cd4
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x1c]
mov esi, 0x485194
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
mov ebp, 7
je 0x401757
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x40163b
mov esi, 0x485194
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401617
jmp 0x401757
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, ebx
je 0x401757
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x401666
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x401666
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x401668
xor eax, eax
lea ecx, [esp + 0x3c]
call fcn.00415ef0
push 0xffffffffffffffff
mov byte [esp + 0xe8], 2
mov edi, dword [esp + 0x1c]
push ebx
add edi, 0x50
push eax
mov eax, edi
call fcn.00401c40
lea esi, [esp + 0x3c]
call fcn.0040d6b0
mov byte [esp + 0x58], bl
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
mov word [esp + 0x60], bx
mov byte [esp + 0xe4], 3
mov esi, dword [esp + 0x18]
add esi, 0x6c
push esi
lea ecx, [esp + 0x5c]
push ecx
call fcn.004157c0
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], bx
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], ebx
mov word [esp + 0xb4], bx
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xd0], 1
push 0xffffffffffffffff
push ebx
push edi
lea eax, [esp + 0xa0]
mov byte [esp + 0xf0], 4
call fcn.00401c40
push 0xffffffffffffffff
push ebx
push esi
lea eax, [esp + 0xbc]
call fcn.00401c40
mov eax, dword [esp + 0x18]
push eax
lea esi, [eax + 0xe8]
lea ecx, [esp + 0x98]
call fcn.00404d00
lea esi, [esp + 0x94]
call fcn.00401b30
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0xe8], 1
call fcn.00415680
mov eax, dword [esp + 0x1c]
mov esi, str.maxTime
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x40178f
jmp 0x401770
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x4017d4
mov esi, str.maxTime
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401770
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, str.Target
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x40186c
jmp 0x4017b0
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x401812
mov esi, str.Target
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x4017b0
jmp 0x40186c
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
cmp eax, ebx
je 0x40178f
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x4017fb
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
cmp eax, ebx
je 0x4017fb
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x4017fd
xor eax, eax
push eax
call fcn.00469cd4
mov ebp, dword [esp + 0x1c]
add esp, 4
mov dword [ebp + 0x88], eax
jmp 0x401793
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
cmp eax, ebx
je 0x40186c
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x401839
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
cmp eax, ebx
je 0x401839
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x40183b
xor eax, eax
lea ecx, [esp + 0x3c]
call fcn.00415ef0
push 0xffffffffffffffff
push ebx
push eax
lea eax, [ebp + 0x94]
mov byte [esp + 0xf0], 5
call fcn.00401c40
lea esi, [esp + 0x3c]
mov byte [esp + 0xe4], 1
call fcn.0040d6b0
mov eax, dword [esp + 0x1c]
mov esi, str.Window
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x40189f
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
jne 0x4018bb
mov esi, str.Window
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401880
xor eax, eax
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x4018c6
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
cmp eax, ebx
je 0x4018c6
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x4018c8
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
jmp 0x4018a1
xor eax, eax
lea ecx, [esp + 0x78]
call fcn.00415ef0
mov byte [esp + 0xe4], 6
cmp dword [esp + 0x8c], ebx
je 0x401982
push 1
lea eax, [esp + 0x1c]
push eax
xor eax, eax
lea edx, [esp + 0x80]
mov dword [esp + 0x20], 0x2a
call fcn.00401cf0
mov edi, eax
cmp edi, 0xffffffff
je 0x401982
push edi
xor ecx, ecx
lea esi, [esp + 0x40]
lea edx, [esp + 0x7c]
call fcn.00401c10
push 0xffffffffffffffff
lea ecx, [edi + 1]
lea esi, [esp + 0x5c]
lea edx, [esp + 0x7c]
mov byte [esp + 0xe8], 7
call fcn.00401c10
cmp dword [esp + 0x54], 8
mov eax, dword [esp + 0x40]
jae 0x401943
lea eax, [esp + 0x40]
push eax
call fcn.00469b30
add esp, 4
cmp dword [esp + 0x70], 8
mov dword [ebp + 0x8c], eax
mov eax, dword [esp + 0x5c]
jae 0x401961
lea eax, [esp + 0x5c]
push eax
call fcn.00469b30
add esp, 4
lea esi, [esp + 0x58]
mov dword [ebp + 0x90], eax
call fcn.0040d6b0
lea esi, [esp + 0x3c]
call fcn.0040d6b0
mov byte [esp + 0xe4], 1
cmp dword [esp + 0x90], 8
jb 0x4019a1
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00469d48
add esp, 4
mov eax, dword [esp + 0x1c]
mov esi, str.GameId
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x401a30
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x4019d6
mov esi, str.GameId
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x4019b5
jmp 0x401a30
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, ebx
je 0x401a30
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x4019fd
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x4019fd
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x4019ff
xor eax, eax
lea ecx, [esp + 0x3c]
call fcn.00415ef0
push 0xffffffffffffffff
push ebx
push eax
lea eax, [ebp + 0xb0]
mov byte [esp + 0xf0], 8
call fcn.00401c40
lea esi, [esp + 0x3c]
mov byte [esp + 0xe4], 1
call fcn.0040d6b0
mov eax, dword [esp + 0x1c]
mov esi, str.Param
call fcn.00411ed0
mov edi, eax
cmp edi, ebx
je 0x401ab7
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
test eax, eax
jne 0x401a65
mov esi, str.Param
mov eax, edi
call fcn.00411f20
mov edi, eax
cmp edi, ebx
jne 0x401a44
jmp 0x401ab7
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
mov ecx, edi
call eax
cmp eax, ebx
je 0x401ab7
mov ecx, dword [eax + 0x18]
cmp ecx, ebx
je 0x401a8c
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
call eax
cmp eax, ebx
je 0x401a8c
mov eax, dword [eax + 0x20]
add eax, 8
jmp 0x401a8e
xor eax, eax
lea ecx, [esp + 0x3c]
call fcn.00415ef0
push 0xffffffffffffffff
push ebx
push eax
lea eax, [ebp + 0xcc]
mov byte [esp + 0xf0], 9
call fcn.00401c40
lea esi, [esp + 0x3c]
call fcn.0040d6b0
cmp dword [esp + 0x38], 0x10
jb 0x401acb
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00469d48
add esp, 4
cmp dword [esp + 0x108], 8
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
jb 0x401af5
mov edx, dword [esp + 0xf4]
push edx
call fcn.00469d48
add esp, 4
mov al, 1
mov ecx, dword [esp + 0xdc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.00469ab5
add esp, 0xd4
ret 0x24