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

Disassembly:
push 0xffffffffffffffff
push 0x48ed53
mov eax, dword fs:[0]
push eax
mov eax, 0xa0dc
mov dword fs:[0], esp
call fcn.00461900
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa0f8]
mov ebx, ecx
add esi, 0x20
push edi
mov ecx, esi
call fcn.00421220
mov edi, eax
xor ebp, ebp
cmp edi, ebp
mov dword [esp + 0x2c], edi
je 0x41ee85
mov ecx, edi
call fcn.00429b40
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0042a380
mov esi, eax
cmp esi, ebp
mov dword [esp + 0x14], esi
je 0x41ee85
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
call fcn.00434630
mov dword [esp + 0xa0f4], ebp
push 0x138a
lea ecx, [esp + 0x40]
call fcn.0042f730
push 2
lea ecx, [esp + 0x40]
call fcn.00430540
push esi
lea ecx, [esp + 0x40]
call fcn.00430540
lea eax, [edi + 0x20]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
call fcn.0040ec00
mov byte [esp + 0xa0f4], 1
test esi, esi
mov dword [esp + 0x20], ebp
jle 0x41eac6
lea ecx, [edi + 0x20]
call fcn.0040ea10
test eax, eax
je 0x41ea17
lea esi, [eax - 0x20]
test esi, esi
jne 0x41ea26
mov esi, dword [esp + 0xa0fc]
test esi, esi
je 0x41eac2
mov al, byte [esi + 0x4a6]
test al, al
jl 0x41eaad
movsx edi, al
mov ecx, dword [esi + edi*4 + 0x4a8]
push ecx
lea ecx, [esp + 0x40]
call fcn.00430750
lea eax, [edi + 0x2c]
imul eax, eax, 0x1c
mov ecx, dword [eax + esi + 0x18]
add eax, esi
cmp ecx, 0x10
jb 0x41ea5a
mov eax, dword [eax + 4]
jmp 0x41ea5d
add eax, 4
push eax
lea ecx, [esp + 0x40]
call fcn.00430970
lea eax, [edi + 0x36]
imul eax, eax, 0x1c
mov ecx, dword [eax + esi + 0x18]
add eax, esi
cmp ecx, 0x10
jb 0x41ea7d
mov eax, dword [eax + 4]
jmp 0x41ea80
add eax, 4
push eax
lea ecx, [esp + 0x40]
call fcn.00430970
xor edx, edx
mov dx, word [esi + edi*2 + 0x700]
lea ecx, [esp + 0x3c]
push edx
call fcn.00430640
mov edi, dword [esp + 0x2c]
movsx eax, bp
mov dword [esp + eax*4 + 0xec], esi
inc ebp
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x41ea04
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x18]
call fcn.0040eb60
lea ecx, [esp + 0x3c]
push ecx
push ebp
lea edx, [esp + 0xf4]
push edx
mov ecx, ebx
call fcn.0040d630
mov byte [esp + 0xa0f4], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x41eb05
lea ecx, [esp + 0x18]
call fcn.0040eb60
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x41eaf4
mov dword [esp + 0xa0f4], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.004028b0
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xe4], eax
push ecx
mov ecx, ebx
mov dword [esp + 0xec], eax
mov byte [esp + 0x17], al
call fcn.00434630
mov dword [esp + 0xa0f4], 3
push 0x1195
lea ecx, [esp + 0x40]
call fcn.0042f730
push 2
lea ecx, [esp + 0x40]
call fcn.00430540
push esi
lea ecx, [esp + 0x40]
call fcn.00430540
lea eax, [edi + 0x20]
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], eax
call fcn.0040ec00
mov byte [esp + 0xa0f4], 4
xor ebx, ebx
test esi, esi
jle 0x41eced
lea esp, [esp]
lea ecx, [edi + 0x20]
call fcn.0040ea10
test eax, eax
je 0x41ec63
lea esi, [eax - 0x20]
test esi, esi
jne 0x41ec6e
mov esi, dword [esp + 0xa0fc]
test esi, esi
je 0x41ece9
mov eax, dword [esi + 0x800]
cmp dword [eax], 0
jne 0x41ec80
mov eax, 0x494380
jmp 0x41ec85
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
push eax
lea ecx, [esp + 0x40]
call fcn.00430970
mov edx, dword [esi + 0x804]
push edx
lea ecx, [esp + 0x40]
call fcn.00430750
movsx eax, byte [esi + 0x4a6]
mov ecx, dword [esi + eax*4 + 0x4a8]
push ecx
lea ecx, [esp + 0x40]
call fcn.00430750
mov esi, dword [esi + 0x800]
xor eax, eax
nop
mov ecx, dword [esp + eax*4 + 0x74]
cmp ecx, esi
je 0x41ecdc
test ecx, ecx
je 0x41ecd4
inc eax
cmp eax, 0x1e
jl 0x41ecc0
jmp 0x41ecdc
mov dword [esp + eax*4 + 0x74], esi
inc byte [esp + 0x13]
mov eax, dword [esp + 0x14]
inc ebx
cmp ebx, eax
jl 0x41ec50
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x24]
call fcn.0040eb60
mov cl, byte [esp + 0x13]
test cl, cl
setne al
movsx ebp, al
xor edi, edi
test ebp, ebp
jle 0x41ed8a
mov bl, 6
mov edi, edi
sub esp, 0x38
mov esi, esp
lea edx, [esp + 0x74]
mov dword [esp + 0x58], esp
push edx
mov ecx, esi
mov dword [esp + 0x54], esi
call fcn.004086f0
mov byte [esp + 0xa12c], 5
mov eax, dword [esp + 0x98]
mov dword [esi + 0x24], eax
mov ecx, dword [esp + 0x9c]
mov dword [esi + 0x28], ecx
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x2c], edx
mov eax, dword [esp + 0xa4]
mov dword [esi + 0x30], eax
mov ecx, dword [esp + 0xa8]
mov dword [esi + 0x34], ecx
mov byte [esp + 0xa12c], bl
mov edx, dword [esp + edi*4 + 0xac]
mov ecx, dword [edx + 8]
mov byte [esp + 0xa12c], 4
call fcn.00435de0
inc edi
cmp edi, ebp
jl 0x41ed10
mov esi, dword [esp + 0x14]
cmp esi, 2
jne 0x41eda2
mov ecx, dword [esp + 0x2c]
call fcn.00429b40
mov ecx, eax
add ecx, 0x20
call fcn.0042a380
mov byte [esp + 0x30], 0
mov dword [esp + 0x34], 0x4bdd78
mov byte [esp + 0xa0f4], 7
cmp esi, 2
mov esi, str._free_team.
je 0x41edc6
mov esi, 0x49d68c
lea eax, [esp + 0x30]
push eax
call fcn.0042e4d0
mov ecx, dword [esp + 0x3c]
movsx edx, byte [ecx + 0x4a6]
add edx, 0x2c
imul edx, edx, 0x1c
add esp, 4
add edx, ecx
mov ecx, dword [esp + 0xa0fc]
push esi
push edx
movsx edx, byte [ecx + 0x4a6]
add edx, 0x2c
imul edx, edx, 0x1c
push str.leave_team
add edx, ecx
push edx
push str.player
push eax
call fcn.00404a70
add esp, 8
push eax
call fcn.004118b0
add esp, 8
push eax
call fcn.00404a70
add esp, 8
push eax
call fcn.004118b0
add esp, 8
push eax
call fcn.00404a70
push eax
call fcn.0042dc20
add esp, 0xc
mov byte [esp + 0xa0f4], 4
lea ecx, [esp + 0x30]
call fcn.0042e4c0
mov byte [esp + 0xa0f4], 3
mov eax, dword [esp + 0x24]
test eax, eax
je 0x41ee71
lea ecx, [ecx]
lea ecx, [esp + 0x24]
call fcn.0040eb60
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x41ee60
mov dword [esp + 0xa0f4], 0xffffffff
lea ecx, [esp + 0x3c]
call fcn.004028b0
mov ecx, dword [esp + 0xa0ec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xa0e8
ret 0xc