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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x84
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
movsx eax, word [esi + 0x2c0]
lea eax, [eax + eax*8]
shl eax, 4
push edi
mov edi, dword [0x76ba40]
add eax, 0x6c9e30
test edi, edi
mov dword [esp + 0x24], eax
je 0x5a6780
mov al, byte [edi + 0x461]
cmp al, 2
jbe 0x5a6780
cmp al, 6
jae 0x5a6780
mov al, byte [ebp + 0x14]
test al, al
je 0x5a6780
mov al, byte [0x7436e4]
test al, al
je 0x5a6780
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x5a66a4
or al, 0x10
mov byte [0x7436e4], al
movaps xmm0, xmmword [ebx]
push 0
push 0
push 8
push 0
push 0xffffffffffffffff
movaps xmmword [esp + 0x54], xmm0
mov ecx, dword [esp + 0x54]
push 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mov dword [esp + 0x90], ecx
mov ecx, dword [ebp + 0xc]
movaps xmmword [esp + 0x58], xmm1
mov edx, dword [esp + 0x58]
push 0xffffffffffffffff
mov byte [esp + 0xa2], al
mov dword [esp + 0x98], edx
mov dx, word [esi + 0xd4]
push 0x17
lea eax, [esp + 0x90]
mov dword [esp + 0xa2], ecx
push eax
mov ecx, edi
mov byte [esp + 0x94], 0x17
mov word [esp + 0xa4], dx
call fcn.00623b30
fld dword [ebp + 0xc]
movzx ecx, byte [0x7436e4]
movaps xmm0, xmmword [ebx]
movzx edx, word [esi + 0xd4]
mov eax, dword [esi + 0xcc]
push ecx
sub esp, 0x20
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
fstp qword [esp + 0x18]
movaps xmmword [esp + 0x64], xmm1
fld dword [esp + 0x64]
movaps xmm1, xmm0
fstp qword [esp + 0x10]
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x54], xmm1
fld dword [esp + 0x54]
fstp qword [esp + 8]
movaps xmmword [esp + 0x74], xmm0
fld dword [esp + 0x74]
fstp qword [esp]
push edx
push eax
push str.Sending_CARDAMAGE2_packet___i__u_____f__f__f____f_____i_r_n
call fcn.00569b60
mov edi, dword [0x76ba40]
add esp, 0x30
cmp word [esi + 0x2c0], 5
jne 0x5a6796
fld dword [ebp + 0xc]
fmul dword [0x68bab8]
fstp dword [ebp + 0xc]
cmp word [esi + 0xc], 0xf970
jne 0x5a67b3
mov eax, dword [0x6c68e4]
test eax, eax
jne 0x5a67b3
fld dword [ebp + 0xc]
fmul dword [0x68bab8]
fstp dword [ebp + 0xc]
mov edx, dword [esi + 0x200]
fld dword [esi + 0x204]
mov ecx, dword [ebp + 0xc]
fmul dword [0x68b6d8]
mov eax, dword [0x6f2234]
mov dword [esp + 0x2c], edx
mov dl, byte [eax + 0x344]
fstp dword [esp + 0x28]
mov dword [esp + 0x18], ecx
xor ecx, ecx
test dl, dl
mov dword [esp + 0x20], ecx
je 0x5a6802
mov eax, dword [0x6f2258]
cmp eax, ecx
je 0x5a6802
cmp dword [eax + 0x58], esi
jne 0x5a6802
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
movaps xmm1, xmmword [ebx]
fld dword [esi + 0x60]
fmul dword [0x68c700]
mov eax, dword [esi + 0x20c]
mov edx, dword [esi + 0x208]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
xorps xmm2, xmm2
subss xmm2, xmm0
movaps xmm3, xmm0
maxss xmm3, xmm2
movaps xmmword [esp + 0x50], xmm3
fcomp dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x214]
mov dword [esp + 0x4c], eax
fnstsw ax
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x210]
test ah, 5
mov dword [esp + 0x48], edx
jp 0x5a68b8
movaps xmmword [esp + 0x50], xmm0
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5a687c
mov dword [esp + 0x30], ecx
mov ebx, 3
jmp 0x5a6886
mov dword [esp + 0x30], 3
xor ebx, ebx
movaps xmmword [esp + 0x50], xmm1
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
mov dword [esp + 0x3c], ebx
fnstsw ax
test ah, 0x41
jne 0x5a68ac
mov edx, 2
mov ecx, 1
jmp 0x5a6914
mov edx, 1
mov ecx, 2
jmp 0x5a6914
movaps xmmword [esp + 0x50], xmm1
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5a68dd
mov dword [esp + 0x30], 2
mov ebx, 1
jmp 0x5a68ea
mov dword [esp + 0x30], 1
mov ebx, 2
movaps xmmword [esp + 0x50], xmm0
fld dword [esp + 0x50]
fcomp dword [0x68b4fc]
mov dword [esp + 0x3c], ebx
fnstsw ax
test ah, 0x41
jne 0x5a690d
xor edx, edx
mov ecx, 3
jmp 0x5a6914
mov edx, 3
xor ecx, ecx
test edi, edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
je 0x5a6ab9
mov al, byte [edi + 0x461]
cmp al, 2
jbe 0x5a6ab9
cmp al, 6
jae 0x5a6ab9
mov al, byte [ebp + 0x14]
test al, al
je 0x5a6ab9
mov al, byte [0x7436e4]
test al, al
jne 0x5a6ab9
xor eax, eax
and ebx, 7
mov al, cl
shl ebx, 4
and eax, 7
or ebx, eax
xor eax, eax
mov al, dl
shl ebx, 4
and eax, 7
or ebx, eax
xor eax, eax
mov al, byte [esp + 0x30]
shl ebx, 4
and eax, 7
or ebx, eax
mov edi, ebx
movzx eax, di
cmp eax, 0x2031
jg 0x5a69c3
je 0x5a69bc
cmp eax, 0x1032
jg 0x5a69ae
je 0x5a69a7
cmp eax, 0x123
je 0x5a69f2
cmp eax, 0x213
jne 0x5a69d8
mov ecx, 1
jmp 0x5a6a09
mov ecx, 4
jmp 0x5a6a09
cmp eax, 0x1302
jne 0x5a69d8
mov ecx, 5
jmp 0x5a6a09
mov ecx, 6
jmp 0x5a6a09
cmp eax, 0x2301
je 0x5a6a04
cmp eax, 0x3120
je 0x5a69fd
cmp eax, 0x3210
je 0x5a69f6
push eax
mov eax, dword [esp + 0x40]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push ecx
push 0x697468
call fcn.00569b60
add esp, 0x18
xor ecx, ecx
jmp 0x5a6a09
mov ecx, 3
jmp 0x5a6a09
mov ecx, 2
jmp 0x5a6a09
mov ecx, 7
fld dword [ebp + 0xc]
fadd dword [esi + ecx*4 + 0x1a4]
fcom dword [0x68b500]
fst dword [esi + ecx*4 + 0x1a4]
fnstsw ax
test ah, 0x41
je 0x5a6a4f
fld dword [esi + 0x200]
fcomp qword [0x693710]
fnstsw ax
test ah, 0x41
jne 0x5a6ab7
fld dword [esi + 0x200]
fsub st(1)
fcomp qword [0x693710]
fnstsw ax
test ah, 0x41
jp 0x5a6ab7
mov al, byte [ebp + 0x10]
test al, al
je 0x5a6a5d
or byte [0x7436e4], 0x10
mov dx, word [esi + 0xd4]
fstp dword [esp + 0x5c]
mov al, byte [0x7436e4]
push 0
push 0
push 8
push 0
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
mov dword [esi + ecx*4 + 0x1a4], 0
push 0x11
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [0x76ba40]
mov byte [esp + 0x74], 0x16
mov word [esp + 0x7c], dx
mov byte [esp + 0x84], al
mov word [esp + 0x7e], di
mov byte [0x7436e4], 0
call fcn.00623b30
jmp 0x5a6ab9
fstp st(0)
fld dword [ebp + 0xc]
xor edi, edi
fmul dword [0x68b6d0]
mov byte [0x7436e4], 0
xor edx, edx
lea ecx, [ecx]
fld dword [esp + 0x18]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5a6b22
mov eax, dword [esp + edx*4 + 0x30]
fld dword [esi + eax*4 + 0x208]
lea ecx, [esi + eax*4 + 0x208]
fst dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5a6b06
fstp st(0)
fld dword [esp + 0x1c]
fld dword [ecx]
inc edx
cmp edx, 4
fsub st(1)
fstp dword [ecx]
fld dword [esp + 0x18]
fsub st(1)
fstp dword [esp + 0x18]
fstp st(0)
fld dword [esp + 0x18]
jl 0x5a6ad0
fstp st(0)
fld dword [esi + 0x200]
fsub dword [ebp + 0xc]
fcom dword [0x68b4fc]
fnstsw ax
test ah, 0x41
je 0x5a6b42
fstp st(0)
fld dword [0x68b4fc]
mov eax, dword [esp + 0x24]
fst dword [esi + 0x200]
fld dword [ebp + 0xc]
mov ecx, dword [esi + 0x2a8]
cmp ecx, edi
fdiv dword [eax + 0x14]
fmul dword [eax + 0x74]
fmul dword [0x68b504]
fadd dword [esi + 0x354]
fstp dword [esi + 0x354]
je 0x5a6bee
cmp byte [ecx + 8], 1
jne 0x5a6bee
fld dword [0x68b4fc]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5a6b97
fld dword [ebp + 0xc]
fmul dword [0x68b504]
jmp 0x5a6b9d
fld dword [0x68c708]
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x70], 0x1b
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 3
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov eax, dword [ecx]
cmp eax, edi
je 0x5a6bf0
lea edx, [esp + 0x70]
push edx
push 0xb
push ecx
call eax
add esp, 0xc
jmp 0x5a6bf0
fstp st(0)
lea eax, [edi + edi*4]
lea ecx, [eax*2 + 0x6cc358]
mov dword [esp + 0x18], ecx
movsx ecx, word [edi*2 + 0x6cc350]
lea edx, [edi + edi*4]
lea eax, [edx*4 + 0x6cc300]
xor ebx, ebx
test ecx, ecx
mov dword [esp + 0x1c], eax
jle 0x5a6d56
mov edi, edi
fld dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
fmul dword [edx]
fcom dword [esi + edi*4 + 0x208]
fnstsw ax
test ah, 1
jne 0x5a6d54
dec ecx
cmp ebx, ecx
jge 0x5a6c4e
fcomp dword [esp + edi*4 + 0x40]
fnstsw ax
test ah, 5
jnp 0x5a6c71
jmp 0x5a6c50
fstp st(0)
cmp ebx, ecx
jne case.default.0x5a6caa
mov al, byte [edi + esi + 0x218]
test al, al
jne case.default.0x5a6caa
cmp dword [esp + 0x30], edi
jne case.default.0x5a6caa
mov ecx, dword [esp + 0x18]
movsx edx, word [ecx]
mov eax, dword [ebp + 0x10]
push eax
push edx
mov ecx, esi
mov dword [esp + 0x28], 1
call fcn.005a0b90
movsx eax, word [edi*2 + 0x6cc350]
dec eax
cmp ebx, eax
jne 0x5a6ca1
mov byte [edi + esi + 0x218], 1
cmp edi, 3
ja case.default.0x5a6caa
jmp dword [edi*4 + 0x5a6e14]
push 0x10
jmp 0x5a6d17
push 0x11
jmp 0x5a6d17
push 0x28
mov ecx, esi
call fcn.005ef7a0
test eax, eax
je 0x5a6ccf
push eax
call fcn.0047fee0
add esp, 4
push 0x2a
mov ecx, esi
call fcn.005ef7a0
test eax, eax
je 0x5a6ce5
push eax
call fcn.0047fee0
add esp, 4
push 0x2b
mov ecx, esi
call fcn.005ef7a0
test eax, eax
je 0x5a6cfb
push eax
call fcn.0047fee0
add esp, 4
push 0x2c
jmp 0x5a6d17
push 0x29
mov ecx, esi
call fcn.005ef7a0
test eax, eax
je 0x5a6d15
push eax
call fcn.0047fee0
add esp, 4
push 0x2d
mov ecx, esi
call fcn.005ef7a0
test eax, eax
je case.default.0x5a6caa
push eax
call fcn.0047fee0
add esp, 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add ecx, 4
mov dword [esp + 0x1c], ecx
movsx ecx, word [edi*2 + 0x6cc350]
inc ebx
add edx, 2
cmp ebx, ecx
mov dword [esp + 0x18], edx
jl 0x5a6c20
jmp 0x5a6d56
fstp st(0)
inc edi
cmp edi, 4
jl 0x5a6bf0
mov ecx, esi
call fcn.005a39f0
fld dword [esi + 0x200]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jp 0x5a6e06
fld dword [esp + 0x2c]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x5a6e06
push 0xe2
mov ecx, esi
call fcn.005a51d0
mov eax, dword [esi + 0x2a8]
test eax, eax
je 0x5a6ddc
mov ecx, dword [0x76ba40]
test ecx, ecx
je 0x5a6dc3
mov cx, word [eax + 0xc]
cmp cx, 0xff9d
jl 0x5a6dc3
cmp cx, 0xff9f
jle 0x5a6de9
test eax, eax
je 0x5a6ddc
cmp word [eax + 0xc], 0xffff
je 0x5a6de9
test eax, eax
je 0x5a6ddc
cmp word [eax + 0x80], 9
je 0x5a6de9
push 0
push 1
push 2
mov ecx, esi
call fcn.005a52f0
push 0
push esi
call fcn.0047fb10
mov eax, dword [0x6f2234]
mov ecx, dword [eax + 0x49c]
add esp, 8
inc ecx
mov dword [eax + 0x49c], ecx
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10